| 查看: 523 | 回复: 0 | ||
十甫寸木虫 (正式写手)
|
[求助]
拟牛顿法求解非线性方程组——老是出错,跪求大神指点~(或提供一种新的算法)
|
|
function [r,m]=mulVNewton(F,x0,A,eps) %方程组:F %方程组的初始解:x0 % 初始A矩阵:A %解的精度:eps %求得的一组解:r %迭代步数:m clear clc syms x1 x2 x3 f1 f2 f3 D=input('请输入频带的实测数据[q,r,v]:'); q=D(:,1);%第一列 r=D(:,2); v=D(:,3); %将实测数据代入方程组中 nn=length(D); F1=0;F2=0;F3=0; for i=1:nn f1=(v(i)-(x1)*q(i)^(x2)*r(i)^(x3))*q(i)^(x2)*r(i)^(x3); f2=(v(i)-(x1)*q(i)^(x2)*r(i)^(x3))*q(i)^(x2)*r(i)^(x3)*log(q(i)); f3=(v(i)-(x1)*q(i)^(x2)*r(i)^(x3))*q(i)^(x2)*r(i)^(x3)*log(r(i)); F1=F1+f1;F2=F2+f2;F3=F3+f3; end disp('F1='); disp(F1); disp('F2='); disp(F2); disp('F3='); disp(F3); F(1)=F1;F(2)=F2;F(3)=F3; x=[x1,x2,x3]; x0=[50,0.6,-1.4]; A=[1,0,0; 0,1,0;0,0,1]; if nargin==1 A=eye(length(x0)); %A取为单位阵 eps=1.0e-4; else if nargin==2 eps=1.0e-4; end end x0 = transpose(x0); Fx = subs(F, findsym(F),x0); r=x0-Fx/A; m=1; tol=1; while tol>eps x0=r; Fx = subs(F, findsym(F),x0); r=x0-Fx/A; y=r-x0; Fr = subs(F, findsym(F),r); z= Fr-Fx; A1=A+(z-A*y)*transpose(y)/norm(y); %调整A A=A1; m=m+1; if(m>100000) %迭代步数控制 disp('迭代步数太多,可能不收敛!'); return; end tol=norm(r-x0); end 输入数据为[q,r,v]: [5.6,15.62,1.431 5.6,22.36,1.067 5.6,29.73,0.582 5.6,36.4,0.516 5.6,43.17,0.348 9.4,20.59,1.433 9.4,27.86,0.964 9.4,35.44,0.632 9.4,49.03,0.376 12.8,27.31,1.204 5.6,18.03,1.586 5.6,32.57,0.633 5.6,39.29,0.601 5.6,46.1,0.418 11.6,22.36,1.332 11.6,29.73,0.911 11.6,37.36,0.549 11.6,44.15,0.479 11.6,50.99,0.386] |
» 猜你喜欢
参与限项
已经有3人回复
假如你的研究生提出不合理要求
已经有7人回复
实验室接单子
已经有4人回复
全日制(定向)博士
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有12人回复
不自信的我
已经有12人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
北核录用
已经有3人回复

找到一些相关的精华帖子,希望有用哦~
关于病态方程组求解的疑问
已经有5人回复
求助解复杂非线性方程组的好的方法
已经有24人回复
如何求解带有固定参数的超定方程组?
已经有21人回复
matlab中利用LM算法解非线性方程组的问题
已经有5人回复
【求助】非线性方程组的求解问题
已经有6人回复
拟牛顿法求解复杂(带根号的)非线性方程组
已经有17人回复
关于高等代数线性方程组同解的问题
已经有5人回复
求助matlab---fsolve解非线性方程组
已经有6人回复
用不动点迭代求非线性方程组,求得的不是想要的解,怎么办
已经有12人回复
请问牛顿法和高斯牛顿法有什么不同?非常感谢
已经有6人回复
matlab求解非线性方程组
已经有16人回复
非线性方程组matlab拟合
已经有9人回复
求高人指点用matlab求解非线性方程组,解决了追加100金币;
已经有11人回复
matlab的fsove 命令求解非线性方程组
已经有6人回复
求助形式简单的非线性方程组~Mathematica
已经有4人回复
【求助】用mathematica 5.0求解一个非线性方程组失败,特发帖求助!
已经有5人回复
【求助】Levenberg-Marquardt法和LBFGS拟牛顿法,求C++版源码及使用方法
已经有3人回复
【求助】求解非线性方程
已经有8人回复
科研从小木虫开始,人人为我,我为人人












回复此楼
点击这里搜索更多相关资源