24小时热门版块排行榜    

查看: 1525  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

水中的梦88

木虫 (正式写手)

[求助] 微分方程拟合求参数问题已有1人参与

最近需要做微分方程拟合求参数的问题,但是以前并没有用过Matlab,只是学过C语言,研究了一段时间了。
照葫芦画瓢,但是始终都弄不出来。求各位大神帮忙,需要代码。我可以再根据代码继续研究。
跪求啊!
下面是我自己弄的。再这个的基础上希望能够算出相关系数。
format long
clear all
clc
tspan = [0 7 14 28 56 90 180];
x0 = 0.353542884;
k0 = 1e-3;   
lb = 1e-5;
ub = 1;

yexp =

[0.353542884 0.355002172 0.372553224 0.377598226 0.39054644 0.403335059 0.420130491];

[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 = %.6e\n',k)

fprintf('  The sum of the squares is: %.6e\n\n',resnorm)

function f = ObjFunc(k,tspan,x0,yexp)           % 目标函数
[t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k);
ysim = Xsim(2:end);
f = ysim-yexp;

function dAdt = KineticsEqs(t,A,k)              % ODE模型方程
dAdt=k*3*(1-A)^(2/3)/(2-2*(1-A)^(1/3));
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
6楼: Originally posted by 水中的梦88 at 2015-10-07 14:30:02
您用的是哪个版本的1stopt,我也试试,看能不能找到软件。...

http://muchong.com/bbs/viewthread.php?tid=8050245
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
7楼2015-10-07 16:05:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

水中的梦88

木虫 (正式写手)

顶顶!大神快来帮忙啊!跪谢!
2楼2015-10-07 09:15:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

这里有颗瓜

铁虫 (小有名气)

急不急,不急晚上回去弄?

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

3楼2015-10-07 09:39:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
用1stopt计算,代码和结果如下:
代码:
Variables t,y;
OdeFunction y'=k*3*(1-y)^(2/3)/(2-2*(1-y)^(1/3));
Data;

         0    0.3535
    7.0000    0.3550
   14.0000    0.3726
   28.0000    0.3776
   56.0000    0.3905
   90.0000    0.4033
  180.0000    0.4201

结果:

Root of Mean Square Error (RMSE): 0.00878112685716906
Residual Sum of Squares (SSE): 0.000539757322171871
Correlation Coef. (R): 0.990208373887058
R-Square: 0.980512623716052
Determination Coef. (DC): 0.974279082009332
Parameters Best Estimate
-------------------- -------------k 6.18772301033453E-5
====== Output Results =====
File: Data file - 1
No Obs. y Cal. y
1 0.355 0.357062297934808
2 0.3726 0.360570784579331
3 0.3776 0.367433567235337
4 0.3905 0.380587817889355
5 0.4033 0.3956451569869
6 0.4201 0.431527943596942

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-10-07 10:14:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见