24小时热门版块排行榜    

查看: 804  |  回复: 3

微冷

新虫 (初入文坛)

[求助] 最小二乘 平方和初值小于函数公差的默认值(动力学方程拟合)已有2人参与

本人刚开始接触matlab在做发酵动力学,运行结果都可以出来,可是残差总是出不来,每次都报错。    系统提示:lsqnonlin stopped because the final change in the sum of squares relative to its initial value is less than the default value of the function tolerance.    (相对平方和的最终变化的初始值小于该函数公差的默认值。)
    我看帮助,好像是说局部最优,但不一定是整体最优,不太明白,还请知道的大神帮帮我啊
    请问是我程序哪里有问题吗,以下是我的程序


M文件
function f=ObjFunc4LNL8(k,x0,yexp)
tspan=[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28]';
[t1,x]=ode45(@kineticseqs8,tspan,x0,[],k);
y(:,1)=x(:,1);y(:,2)=x(:,2);y(:,3)=x(:,3);
f1=y(:,1)-yexp(:,1);f2=y(:,2)-yexp(:,2);f3=y(:,3)-yexp(:,3);
f=[f1 f2 f3];

M文件
function dxdt=kineticseqs8(t,x,k) %模型方程
dxdt=[k(1)*x(1)*(1.0-x(1)/25.022)
     -k(1)/k(2)*x(1)*(1.0-x(1)/25.022)
     k(3)*x(1)];

程序:
k0=[0.3654 0.4 0.321];
x0=[1.964 95.668 0.059];
t1=[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28]';
tspan=[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28]';
yexp=[[1.964 3.281 6.250 10.714 15.625 20.758 23.660 24.553 24.843 25.022 24.970 24.703 24.3013 24.078 24.078];
    [95.668 90.514 76.770 70.658 63.541 60.228 59.442 55.442 54.215 51.883 49.306 46.116 44.398 44.275 42.925];
    [0.059 0.933 16.794 25.060 42.533 59.105 71.308 84.649 104.210 119.331 134.731 150.211 164.022 185.013 196.408]]';
lb=[0.2 0.3 0.3];ub=[0.5 2 0.6];
[k,resnorm,resid,exitflag,output,lambda,jacobian]=lsqnonlin(@ObjFunc4LNL8,k0,lb,ub,[],x0,yexp);%非线性拟合
ci=nlparci(k,resid,jacobian);%计算非线性模型中参数估计值的95%置信区间
y1=[yexp(:,1)]';
y2=[yexp(:,2)]';
y3=[yexp(:,3)]';
[t4plot,x4plot]=ode45(@kineticseqs8,[tspan(1) tspan(end)],x0,[],k);
plot(t1,y1,'bo',t1,y2,'g*',t1,y3,'r*',t4plot,x4plot,'k-');
fprintf('Estimated Parameter\n'),
fprintf('\tk=%.4f±%.4f\n',k(1),ci(1,2)-k(1))
fprintf('\tk=%.4f±%.4f\n',k(2),ci(2,2)-k(2))
fprintf('\tk=%.4f±%.4f\n',k(3),ci(3,2)-k(3))
[t,x]=ode45(@kineticseqs8,tspan,x0,[],k);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张晓腾58

新虫 (正式写手)

【答案】应助回帖

版主  我想问你你的问题解决了么 ?我也打算做这个  可以和你交流下么
2楼2016-01-09 19:55:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

这种微分方程拟合问题用1stOpt要简单高效的多
3楼2016-01-09 21:51:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张晓腾58

新虫 (正式写手)

引用回帖:
3楼: Originally posted by dingd at 2016-01-09 21:51:10
这种微分方程拟合问题用1stOpt要简单高效的多

大神  你会么  发酵动力学方程拟合  与计算
4楼2016-01-10 16:30:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 微冷 的主题更新
信息提示
请填处理意见