24小时热门版块排行榜    

Znn3bq.jpeg
查看: 2503  |  回复: 14

小小莓邮

铁虫 (小有名气)

[求助] 拜求!matlab拟合动力学参数 已有2人参与

实验数据如下
t(h)[RH]              [ROOH]
0        8.32016                0
1        7.37673                0.21115
2        6.74433                0.7379
3        5.92613                1.10562
4        5.68806                1.29586
5        5.01584                1.58327
6        6.09249                1.36404
8        5.34827                1.84065
10        4.9961                2.00986
动力学模型如图
其中[o2]浓度未测量但认为恒定,想把K4[o2]看成一个参数,并估计出其他的k1 k1‘ K4 K5 K8 f 值,matlab一窍不通,看了几天了还是不明所以,所以恳请各位大神给拟合一下,并给出代码,因为还要拟合其他的,所以想大神给出一个后面好跟着做。。。
拜求!matlab拟合动力学参数
捕获.JPG
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

小小莓邮

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by 钟静 at 2014-02-18 16:54:32
有几点不懂哈:
1.等式右边的是什么,-r_RH?怎么没给出来?直接把原模型放出来看看啦!在等式里面也没有体现时间,可见这个式子和数据,给出的数据和给出的模型等式不匹配啊兄弟!
2.浓度恒定,你居然不知道数值? ...

1、等式左边-rRH=-d[RH]/dt 速率表示
2、氧气浓度目前没法测,但认为其浓度恒定,主要是为了确定速率与几种产物的关系,并不是深究每个k的真实值,所以才认为k4[O2]可以看做一个常数
3、matlab真心不会,在坛子里看了好几天了,也看到了一下案例及代码,但还是整不明白,也写不出来,才求教各位大神,先看看能不能帮忙写出这个得代码,后面的自己再慢慢来!
小弟先在此谢过了!
3楼2014-02-18 19:00:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

钟静

新虫 (初入文坛)

有几点不懂哈:
1.等式右边的是什么,-r_RH?怎么没给出来?直接把原模型放出来看看啦!在等式里面也没有体现时间,可见这个式子和数据,给出的数据和给出的模型等式不匹配啊兄弟!
2.[o2]浓度恒定,你居然不知道数值?测量困难?多一个参数对其他参数影响也很大呀!
3.最小二乘法啦,Matlab的lsqcurvefit函数可以满足你的计算要求!
2楼2014-02-18 16:54:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

你的模型没说全, 单凭你这几个数据不可能做出来
提问之前连最基本的背景都不说, 你以为别人都是神, 知道你要的是什么?
4楼2014-02-18 22:54:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

参考答案
Function  -y'=a*s*y/(a+s*y)*sqrt(k*y/s)+2*f*p*z;
a                  -2.75305471610901
s                  0.551052004868096
k                  0.0492131827205991
f                  0.0321328503671436
p                  15.9935756616899

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

5楼2014-02-19 09:51:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

不知理解的对否,用1stOpt求解:
CODE:
Variable t, RH, ROOH;
ODEFunction RH'=-(k4/(k4+k5*RH)*k5*RH*sqrt(k1*ROOH/k8)+2*f*k1*ROOH);
Data;
//t(h)[RH]              [ROOH]
0        8.32016                0
1        7.37673                0.21115
2        6.74433                0.7379
3        5.92613                1.10562
4        5.68806                1.29586
5        5.01584                1.58327
6        6.09249                1.36404
8        5.34827                1.84065
10        4.9961                2.00986

目标函数值稳定但参数组值不唯一:
1:
均方差(RMSE):0.337408531472899
残差平方和(SSE):0.910756136885585
相关系数(R): 0.901867531322994
相关系数之平方(R^2): 0.813365044054631
确定系数(DC): 0.81334823805307
F统计(F-Statistic): 4.01817798116069

参数                  最佳估算
--------------------        -------------
k4        -0.00960366653113242
k5        0.00108370577772373
k1        -3.63159583413505
k8        -0.00354975409632072
f        0.0406346976895024

2:
均方差(RMSE):0.337408531472899
残差平方和(SSE):0.910756136885585
相关系数(R): 0.901867531322902
相关系数之平方(R^2): 0.813365044054465
确定系数(DC): 0.81334823805307
F统计(F-Statistic): 4.01817798116068

参数                  最佳估算
--------------------        -------------
k4        -0.000186819014387768
k5        2.10812031658941E-5
k1        -0.254411174415381
k8        -9.41033214347948E-8
f        0.580040555144359

有过拟合现象。其实微分方程可简化为:RH'=-(k8/(1+k5*RH)*RH*sqrt(ROOH)+f*ROOH);此时参数仅3个,结果稳定唯一:
均方差(RMSE):0.337408531472898
残差平方和(SSE):0.910756136885582
相关系数(R): 0.901867531324836
相关系数之平方(R^2): 0.813365044057954
确定系数(DC): 0.813348238053071
F统计(F-Statistic): 13.393926603869

参数                  最佳估算
--------------------        -------------
k8        0.0346625904471096
k5        -0.112842920106452
f        -0.295137602915853
拜求!matlab拟合动力学参数-1
f1.jpg

6楼2014-02-19 10:54:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

钟静

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by feixiaolin at 2014-02-19 09:51:32
参考答案
Function  -y'=a*s*y/(a+s*y)*sqrt(k*y/s)+2*f*p*z;
a                  -2.75305471610901
s                  0.551052004868096
k                  0.0492131827205991
f                  0.0321328503671436
p                  1 ...

我还是觉得数据太少了,哪怕可以拟合出来,结果的意义也不大了。其中还有一个导数,拟合的时候是要把这个算出来吧,如果间隔是一个小时的话求出的速率有代表性不?
7楼2014-02-19 13:10:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
随便编了一下,拟合结果有点问题,估计是k的初值k0取得有问题或者数据太少或者实验数据有问题。。。
程序如下,其中k0是我随便设的初值,k1=k1,k2=k1',k3=k8,k4=k4*[O],k5=k5,k6=f



function piadatfit2
clear all;clc
tspan=[0 1 2 3 4 5 6 8 10];
cexp=[8.32016 0;7.37673 0.21115;
    6.74433 0.7379;5.92613 1.10562;5.68806 1.29586;
    5.01584 1.58327;6.09249 1.36404;5.34827 1.84065;4.9961 2.00986];
k0=[-0.1 1 -2.3 13 0.2 0.4];
c0=[8.32016 0];
LB=[0 0 0 0 0 0];
UB=[+inf +inf +inf +inf +inf +inf];
[k,resnorm,residual]=lsqnonlin(@objpia,k0,LB,UB,[],cexp,tspan,c0)
[tplot cplot]=ode45(@piakin,tspan,c0,[],k);
plot(tspan,cexp(:,1),'bx',tplot,cplot(:,1),'b-',tspan,cexp(:,2),'ko',tplot,cplot(:,2),'k-')

function f=objpia(k,cexp,tspan,c0)
[t c]=ode45(@piakin,tspan,c0,[],k);
f1=c(:,1)-cexp(:,1);
f2=c(:,2)-cexp(:,2);
f=[f1;f2];
function dcdt=piakin(t,c,k)
dc1dt=-(k(4)*k(5)*c(1)*sqrt(k(1)*c(2)/k(3))/(k(4)+k(5)*c(1))+2*k(6)*k(2)*c(2));
dc2dt=(k(4)*k(5)*c(1)*sqrt(k(1)*c(2)/k(3))/(k(4)+k(5)*c(1))+2*k(6)*k(2)*c(2));
dcdt=[dc1dt dc2dt]';

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

8楼2014-02-19 15:16:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

送红花一朵
引用回帖:
5楼: Originally posted by feixiaolin at 2014-02-19 09:51:32
参考答案
Function  -y'=a*s*y/(a+s*y)*sqrt(k*y/s)+2*f*p*z;
a                  -2.75305471610901
s                  0.551052004868096
k                  0.0492131827205991
f                  0.0321328503671436
p                  1 ...

先谢谢大神,能不能给出代码,毕竟是想看一下怎么弄出来的,至少后面的可以自己做!
9楼2014-02-19 17:33:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
6楼: Originally posted by dingd at 2014-02-19 10:54:29
不知理解的对否,用1stOpt求解:

Variable t, RH, ROOH;
ODEFunction RH'=-(k4/(k4+k5*RH)*k5*RH*sqrt(k1*ROOH/k8)+2*f*k1*ROOH);
Data;
//t(h)              
0        8.32016                0
1      ...

大神用的1stOpt做的啊,这边用不起啊,不过还是谢谢,至少学到很多,也说明是可以做出来的!谢谢!
10楼2014-02-19 17:41:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小小莓邮 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿沪9,生物学326求调剂 +6 刘墨墨 2026-04-15 6/300 2026-04-15 18:40 by AN流800
[考研] 296求调剂 +5 汪!?! 2026-04-08 5/250 2026-04-15 14:38 by 黑科技花岗岩
[考研] 085801电气专硕272求调剂 +19 电气李 2026-04-13 21/1050 2026-04-15 13:37 by 黑科技矿业
[考研] 求调剂 +9 小聂爱学习 2026-04-11 13/650 2026-04-14 19:18 by Art1977
[考研] 一志愿085502,267分求调剂 +19 再忙也要吃饭啊 2026-04-08 20/1000 2026-04-14 16:03 by zs92450
[考研] 一志愿中南大学 0855 机械 286 求调剂 +11 不会吃肉 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
[考研] 一志愿211 0703化学 346分求调剂 +26 土豆er? 2026-04-09 29/1450 2026-04-13 15:15 by 独醉梦孤城
[考研] 346分,工科0854求调剂,专硕 +6 moser233 2026-04-12 7/350 2026-04-12 22:11 by fqwang
[考研] 322求调剂 +6 123安康 2026-04-12 13/650 2026-04-12 15:51 by 123安康
[考研] 材料与化工300求调剂 +39 肖开文 2026-04-09 43/2150 2026-04-12 01:30 by 秋豆菜芽
[考研] 277 数一104,学硕,求调剂 +21 瓶子PZ 2026-04-09 23/1150 2026-04-11 23:12 by labixiaoqiao
[考研] 343求调剂 +9 王国帅 2026-04-10 9/450 2026-04-11 20:31 by dongdian1
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 调剂 +5 文道星台 2026-04-11 5/250 2026-04-11 15:01 by 凯凯要变帅
[考研] 296求调剂 +6 汪!?! 2026-04-09 6/300 2026-04-11 11:25 by zhq0425
[考研] 工科273调剂 +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[考研] 0854调剂 +4 长弓傲 2026-04-09 4/200 2026-04-11 09:18 by 猪会飞
[考研] 一志愿京区985,085401电子信息,本科电子信息 +3 阳光开朗的男孩 2026-04-10 3/150 2026-04-10 16:29 by sophia_93
[考研] 298求调剂 +13 钉叮咚冬瓜 2026-04-09 13/650 2026-04-10 15:49 by jiajinhpu
[考研] 332,085601求调剂 +12 ydfyh 2026-04-09 14/700 2026-04-09 17:28 by wp06
信息提示
请填处理意见