MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]非线性最小二乘法 为什么没法进行下去? (https://www.labfans.com/bbs/showthread.php?t=2290)

redick123456 2008-04-15 19:22

[求助]非线性最小二乘法 为什么没法进行下去?
 
提示Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.
换了好几个参数都不行 难道我这个问题就拟和不了么?请各位帮忙。。。

程序:
kk0=[1,1];
options=optimset('lsqnonlin');
[kk,resnorm,residual]=lsqnonlin(@fun,kk0,[],[],options);

function F=fun(kk)
p0=1;
x1=[0.316,0.426,0.540,0.584];
x2=[0.684,0.574,0.460,0.416];
y1=[0.430,0.526,0.608,0.654];
y2=[0.570,0.474,0.392,0.346];
p01=[1.3661,1.2731,1.1991,1.1606];
p02=[0.7902,0.7326,0.6869,0.6632];
for i=1:4
r1(i)=exp((-1)*log(x1(i)+kk(1)*x2(i))+x2(i)*(kk(1)/(x1(i)+kk(1)*x2(i))-kk(2)/(x2(i)+kk(2)*x1(i))));
r2(i)=exp((-1)*log(x2(i)+kk(2)*x1(i))+x1(i)*(kk(2)/(x2(i)+kk(2)*x1(i))-kk(1)/(x1(i)+kk(1)*x2(i))));
end
for i=1:4
F(i)=10^5*(y1(i)-r1(i)*x1(i)*p01(i)/p0);
end
for i=5:8
F(i)=10^5*(y2(i-4)-r2(i-4)*x2(i-4)*p02(i-4)/p0);
end


所有时间均为北京时间。现在的时间是 11:33

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.