| 查看: 1631 | 回复: 12 | |||
lf0612木虫 (小有名气)
|
[求助]
呼叫版主,在线紧急求助,关于matlab中微分方程组参数拟合得问题! 已有2人参与
|
||
|
参考版主“月只蓝”以前帖子中的代码,写了如下关于微分方程组中参数拟合得代码,进行了修改,结果有问题,因为是新手,代码的含义不全懂,加之时间急着要,所以特来求助,往各位高手多多帮助,在此先谢谢了! function k1k2k3 format long clear all clc tspan = [0 1 2 3 4 5 6 7 8 9 10 ]; x0=[1 1 1 1 ]; k0 = [1 1 1 1 1 1 1 1 1 1 1 ]*1e-4; lb = [0 0 0 0 0 0 0 0 0 0 0]; ub = [1 1 1 1 1 1 1 1 1 1 1 ]*1e5; data=[0.012,0.073,0.089,0.092,0.316,0.498,1.810,2.314,0.679,0.063,0.044; 0.005,0.084,0.093,0.270,0.406,0.642,0.814,1.026,0.422,0.053,0.014; 0.037,0.638,0.969,2.057,20.419,39.655,69.107,34.099,5.657,0.697,0.346; 0.008,0.224,0.234,0.347,1.860,2.854,3.786,1.883,0.601,0.157,0.079; ]'; size(data); yexp = data; [k,resnorm,residual,exitflag,output,lambda,jacobian] =lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp); ci = nlparci(k,residual,jacobian); fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n') fprintf('\tk1 = %.16f \n',k(1)) fprintf('\tk2 = %.16f \n',k(2)) fprintf('\tk3 = %.16f \n',k(3)) fprintf('\tk4 = %.16f \n',k(4)) fprintf('\tk5 = %.16f \n',k(5)) fprintf('\tk5 = %.16f \n',k(6)) fprintf('\tk5 = %.16f \n',k(7)) fprintf('\tk5 = %.16f \n',k(8)) fprintf('\tk5 = %.16f \n',k(9)) ts=0:1:max(tspan); [ts ys]=ode45(@KineticsEqs,ts,x0,[],k); [ttt XXsim] = ode45(@KineticsEqs,tspan,x0,[],k); figure(1), plot(ts,ys(:,1),'b',tspan(2:end),yexp(:,1),'or'),legend('计算值','实验值','Location','best'); figure(2), plot(ts,ys(:,2),'b',tspan(2:end),yexp(:,2),'or'),legend('计算值','实验值','Location','best'); figure(3), plot(ts,ys(:,3),'b',tspan(2:end),yexp(:,3),'or'),legend('计算值','实验值','Location','best'); figure(4), plot(ts,ys(:,4),'b',tspan(2:end),yexp(:,4),'or'),legend('计算值','实验值','Location','best'); function f = ObjFunc(k,tspan,x0,yexp) % 目标函数 [t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k); Xsim1=Xsim(:,1); Xsim2=Xsim(:,2); Xsim3=Xsim(:,3); Xsim4=Xsim(:,4); ysim(:,1) = Xsim1(2:end); ysim(:,2) = Xsim2(2:end); ysim(:,3) = Xsim3(2:end); ysim(:,4) = Xsim4(2:end); size(ysim(:,1)); size(ysim(:,2)); size(ysim(:,3)); size(ysim(:,4)); size(yexp(:,1)); size(yexp(:,2)); size(yexp(:,3)); size(yexp(:,4)); f = [(ysim(:,1)-yexp(:,1)) (ysim(:,2)-yexp(:,2)) (ysim(:,3)-yexp(:,3)) (ysim(:,4)-yexp(:,4)) ]; function dEdt = KineticsEqs(t,C,k) % ODE模型方程 %g(1)=k(4);g(2)=k(5);g(3)=k(6);m(1)=k(7);m(2)=k(8);m(3)=k(9); CA=C(1);CB=C(2);CC=C(3);CD=C(4); %dCAdt = k(1)*CA*(CB/2-1)-k(2)*CB+k(3)*CC; %dCBdt=-g(1)*CA+g(2)*CB.*(1-CB/5)+g(3)*CC.*(1-CC/10); %dCCdt=m(1)*CA.*(CA/2-1)-m(2)*CB-m(3)*CC; dCAdt= -k(1)*CA-k(2)*CA; dCBdt=k(1)*CA-k(3)*CB-k(4)*CB; dCCdt=k(3)*CB-k(5)*CC; dCDdt=k(2)*CA+k(4)*CB+k(5)*CC; dEdt=[dCAdt;dCBdt;dCCdt;dCDdt]; 在此感谢! |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有184人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有9人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab里拟合后,知道y坐标求x坐标
已经有4人回复
Matlab中ode45出现大误差,关于用ODE45解偏微分方程的疑问,有待解决,大家共同讨论!
已经有4人回复
]紧急求助复介电常数的模型拟合-Matlab or 1stOpt
已经有9人回复
求助使用matlab对一方程进行拟合,自己拟合总是出错!
已经有12人回复
matlab 拟合方法
已经有4人回复
matlab中参数改变后怎样求得曲线???
已经有6人回复
求助,matlab/ 1stOpt 自定义微分方程拟合实验数据来求方程中的参数
已经有9人回复
使用lsqnonlin函数优化动力学参数,总是得不到合理的结果
已经有6人回复
求助,matlab/ 1stOpt 自定义微分方程拟合实验数据来求方程中的参数
已经有4人回复
求助,matlab自定义微分方程拟合实验数据来求方程中的参数
已经有4人回复
三维图谱中,用matlab如何实现去除一部分数据并实现曲面拟合
已经有10人回复
紧急求助,利用Matlab对实验数据进行拟合求解参数。
已经有27人回复
微分方程组参数拟合的问题(多参数动力系统参数估计)
已经有11人回复
微分方程组参数拟合的问题
已经有11人回复
关于matlab微分、及非线性拟合问题
已经有5人回复
MATLAB微分方程参数拟合问题,求大神
已经有7人回复
求高版本1stopt,解决一个问题,微分方程组参数拟合
已经有3人回复
求助拟合参数的置信区间问题
已经有6人回复
关于matlab线性规划 背包问题的 解法 求救呀~~方程知道 但不知道如何解答····
已经有4人回复
matlab微分方程组参数拟合,以周为单位求解,汇总后以年为单位进行数值比较
已经有4人回复
matlab-常微分方程参数估计
已经有12人回复
lsqnonlin函数拟合微分方程组参数拟合问题
已经有10人回复
【求助】微分方程拟合求参数
已经有7人回复
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

5楼2014-06-25 09:55:08
lf0612
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1912.8
- 散金: 100
- 帖子: 289
- 在线: 120.1小时
- 虫号: 964589
- 注册: 2010-03-08
- 专业: 计算机软件
2楼2014-06-24 21:17:46
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区

3楼2014-06-24 21:38:38
lf0612
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1912.8
- 散金: 100
- 帖子: 289
- 在线: 120.1小时
- 虫号: 964589
- 注册: 2010-03-08
- 专业: 计算机软件
4楼2014-06-24 21:47:56
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
6楼2014-06-25 15:49:35
lf0612
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1912.8
- 散金: 100
- 帖子: 289
- 在线: 120.1小时
- 虫号: 964589
- 注册: 2010-03-08
- 专业: 计算机软件
7楼2014-07-04 16:31:45
lf0612
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1912.8
- 散金: 100
- 帖子: 289
- 在线: 120.1小时
- 虫号: 964589
- 注册: 2010-03-08
- 专业: 计算机软件
8楼2014-07-04 16:31:57
lf0612
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1912.8
- 散金: 100
- 帖子: 289
- 在线: 120.1小时
- 虫号: 964589
- 注册: 2010-03-08
- 专业: 计算机软件
9楼2014-07-04 16:32:28
小牧的影子
铁虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 462.4
- 散金: 25
- 帖子: 181
- 在线: 38.1小时
- 虫号: 2650509
- 注册: 2013-09-12
- 性别: GG
- 专业: 光学

10楼2015-06-04 21:47:45







回复此楼