24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2129  |  回复: 12

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

[求助] 请教一下各位大神怎么求解 Runge–Kutta method的微分方程的各个系数已有1人参与

最近在做一点研究,但是被几个微分方程难住了,已经头疼好几天了。现在发帖子求助一下各位牛人,也请伸出援手,帮一下我啊。
我的目的是用matlab求解得到k1--k8的值,一共是6个微分方程的8个系数,如图所示。请大家指点一下啊!我问别人要了一段代码,但是这段代码还不够完整,现将其贴上来(本人不会写)和文献上面的公式贴上来,原始的文献也在附件。我在这里先谢谢大家了啊!!!600金币表示一下心意,不够的话,可以加啊

function KineticsEst1_int
clear all
clc
global CAm CBm CCm CDm CEm
t = [ ];
CAm = []’;
CBm = []';
CCm = []';
CDm=[]';
CEm=[]';
beta0 = [ ];
tspan = [ ];
CA0 = 0.11;
CB0 = 0;
CC0 = 0;
CD0= 0.03;
CE0= 0.106;
C0=[0.31 0 0 0.02 0.10];
[beta,resnorm,resid,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@OptObjFunc,beta0,[0 0 0 0 0 0],[],[],tspan,[CA0 CB0 CC0 CD0 CE0])
ci = nlparci(beta,resid,jacobian)
[t4plot CA4plot] = ode45(@KineticsEqs,[tspan(1)  tspan(end)],[CA0 CB0 CC0 CD0 CE0],[],beta);
plot(tspan,CAm,'bo',t4plot,CA4plot(:,1),'k-')
hold on
plot(tspan,CBm,'bo',t4plot,CA4plot(:,2),'k-')
hold on
plot(tspan,CCm,'bo',t4plot,CA4plot(:,3),'k-')
legend('Exp','Model')
xlabel('time, h')
ylabel('concentration, mol/L')
legend('Exp','Model')
fprintf('Estimated Parameters:\n')
fprintf('\tk1 = %.20f ¡À %.20f\n', beta(1),ci(1,2)-beta(1))
fprintf('\tk2 = %.20f ¡À %.20f\n', beta(2),ci(2,2)-beta(2))
fprintf('\tk3 = %.20f ¡À %.20f\n',beta(3),ci(3,2)-beta(3))
fprintf('\tk4 = %.20f ¡À %.20f\n',beta(4),ci(4,2)-beta(4))
fprintf('\tk5 = %.20f ¡À %.20f\n',beta(5),ci(5,2)-beta(5))
fprintf('\tk6 = %.20f ¡À %.20f\n',beta(6),ci(6,2)-beta(6))
(不会写了)
% ------------------------------------------------------------------


111.jpg


-1
222.jpg


-2
333.jpg


-3
444.jpg
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Product_sampling_during_transient_continuou.pdf
  • 2014-07-12 22:08:43, 2.11 M

» 猜你喜欢

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

加油
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

qinzhong6138: 回帖置顶 2014-07-13 12:09:04
引用回帖:
2楼: Originally posted by 月只蓝 at 2014-07-12 23:13:57
你是要拟合常微分方程组的参数吧。
方便的话,把数据也一起发上来。
如果只是要程序代码的话,参见:http://muchong.com/bbs/viewthread.php?tid=7575773&authorid=1122189

数据在这楼,前面的方程没写对,重新编写和上传,对不起了!
还是找不到论坛的附件上传
链接: http://pan.baidu.com/s/1jGsVAcQ 密码: s14d
加油
7楼2014-07-13 12:08:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

月只蓝

主管区长 (职业作家)

@dingd,不好意思,楼主给出的方程中有错误,10楼的程序就不用看了,麻烦跑一下下面的程序吧:

Parameters K1,K2,K3,K4,K5,K6,K7,K8;
Variable t,T,D,M,G,W,F;
ODEFunction
T’= -K7*T*M+K8*D^2-K1*T*W+K2*D*F;
D’= 2*K7*T*M-2*K8*D^2-K1*T*W+K2*D*F-K3*D*W+K4*M*F;
M’=K7*T*M+K8*D^2+K3*D*W-K4*M*F-K5*M*W+K6*G*F;
W’=-K1*T*W+K2*D*F-K3*D*W+K4*M*F-K5*M*W+K6*G*F;
F’=K1*T*W-K2*D*F+K3*D*W+K4*M*F+K5*M*W+K6*G*F;
G’= K5*M*W-K6*G*F;
data;
        0        99.04        0.81            0         0            0.15            0
        1        68.34        18.69        0.96         3.9633        12.01        11.86
        2        53.58        23.71        2.05         6.8178        20.66        20.51
        3        46.46        26.96        3.02         7.7748        23.56        23.41
        4        40.76        28.83        4.23         8.6394        26.18        26.03
        5        38.11        29.21        4.52         9.2928        28.16        28.01
        6        35.7              29.37                4.75         9.9594        30.18        30.03
        8        32.51        30.29        4.80         10.692        32.4                32.25
        10        31.04        30.78        4.99         10.9527        33.19        33.04
        12        30.81        31.24        5.11         10.8372        32.84        32.69
        24        28.84        29.08        6.09         11.8767        35.99        35.84

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
11楼2014-07-14 10:18:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
qinzhong6138: 金币+20, ★★★很有帮助, 先谢谢版主,等待你施以援手! 2014-07-13 11:45:16
qinzhong6138: 金币+80, ★★★很有帮助, 谢谢版主的帮助,我从别的地方找到相应解决办法了,该帖子关了吧,谢谢啦 2014-07-16 14:52:15
你是要拟合常微分方程组的参数吧。
方便的话,把数据也一起发上来。
如果只是要程序代码的话,参见:http://muchong.com/bbs/viewthread.php?tid=7575773&authorid=1122189
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-07-12 23:13:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-07-12 23:13:57
你是要拟合常微分方程组的参数吧。
方便的话,把数据也一起发上来。
如果只是要程序代码的话,参见:http://muchong.com/bbs/viewthread.php?tid=7575773&authorid=1122189


先谢谢版主了,我不懂matlab,所以对matlab代码也不是很懂。了解到1stOpt对解微分方程也很好,ps:dingd是这方面的行家的,多请教了。昨晚花了几个小时,大致了解一下这个软件,因此,自己编写了一些1stOpt格式的程序和数据,不知道您对这个了解吗?以后我会经常遇到类似的非线性拟合的数据,如果1stOpt真的很方便的话,我打算买一套,支持国产,于己于人都方便,不过这个软件价格有些肉疼啊,年轻老师,收入低。版主,您方便的话,能麻烦您用matlb和1stOpt都能帮我算一下吗,数据马上上传。@月只蓝,@ dingd
加油
3楼2014-07-13 11:41:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-07-12 23:13:57
你是要拟合常微分方程组的参数吧。
方便的话,把数据也一起发上来。
如果只是要程序代码的话,参见:http://muchong.com/bbs/viewthread.php?tid=7575773&authorid=1122189

不懂怎么传附件,,只好用网盘上传了,谢谢月版主,D专家有空的话,也麻烦帮助一下啊。@月只蓝,@ dingd
链接: http://pan.baidu.com/s/1dD4Bf7V 密码: 6mcn
加油
4楼2014-07-13 11:47:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

帖子的数据出错了,重新上传,不好意思
链接: http://pan.baidu.com/s/1jGJucmi 密码: pkqv
加油
5楼2014-07-13 11:50:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋


貌似还少了一个方程,我马上写上去啊。不懂编写,手忙脚乱的!
加油
6楼2014-07-13 11:54:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by qinzhong6138 at 2014-07-13 11:41:48

先谢谢版主了,我不懂matlab,所以对matlab代码也不是很懂。了解到1stOpt对解微分方程也很好,ps:dingd是这方面的行家的,多请教了。昨晚花了几个小时,大致了解一下这个软件,因此,自己编写了一些1stOpt ...

1stopt软件要高版本的才能做常微分方程的拟合,而且这款软件的拟合效果常比普通编写的MATLAB程序强。你可以把完整的1stopt的程序写好,让dingd专家跑一下。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
8楼2014-07-13 13:39:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

qinzhong6138

至尊木虫 (著名写手)

灰常灰常笨的小笨蛋

引用回帖:
8楼: Originally posted by 月只蓝 at 2014-07-13 13:39:17
1stopt软件要高版本的才能做常微分方程的拟合,而且这款软件的拟合效果常比普通编写的MATLAB程序强。你可以把完整的1stopt的程序写好,让dingd专家跑一下。...

我已经写了,在七楼的网盘链接中,不知道版主有空帮我跑下matlab吗?

[ 发自手机版 http://muchong.com/3g ]
加油
9楼2014-07-13 14:28:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

@dingd 麻烦帮忙跑一下:
Parameters K1,K2,K3,K4,K5,K6,K7,K8;
Variable t,T,D,M,G,W,F;
ODEFunction
T’= -K7*T*M+K8*D^2-K1*T*W+K2*D*F;
D’= 2*K7*T*M-2*K8*D^2-K1*T*W+K2*D*F-K3*D*W+K4*M*F;
M’=K7*T*M+K8*D^2+K3*D*H-K4*M*F-K5*M*W+K6*G*F;
W’=-K1*T*W+K2*D*F-K3*D*W+K4*M*F-K5*M*W+K6*G*F;
F’=K1*T*W-K2*D*F+K3*D*W+K4*M*F+K5*M*W+K6*G*F;
G’= K5*M*W-K6*G*F;
data;
        0        99.04        0.81            0         0            0.15            0
        1        68.34        18.69        0.96         3.9633        12.01        11.86
        2        53.58        23.71        2.05         6.8178        20.66        20.51
        3        46.46        26.96        3.02         7.7748        23.56        23.41
        4        40.76        28.83        4.23         8.6394        26.18        26.03
        5        38.11        29.21        4.52         9.2928        28.16        28.01
        6        35.7              29.37                4.75         9.9594        30.18        30.03
        8        32.51        30.29        4.80         10.692        32.4                32.25
        10        31.04        30.78        4.99         10.9527        33.19        33.04
        12        30.81        31.24        5.11         10.8372        32.84        32.69
        24        28.84        29.08        6.09         11.8767        35.99        35.84
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
10楼2014-07-14 10:10:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qinzhong6138 的主题更新
信息提示
请填处理意见