| 查看: 492 | 回复: 2 | ||
laojin木虫 (小有名气)
|
[求助]
用matlab求动力学参数代码有错误已有1人参与
|
|
初学者,所以编了一个最简单的方程,但是有一点问题。 反应方程:-dc/dt=k*c^a function KA format long clear all clc tspan = [0 2 4 6 8 10]; x0 = 0.846812; k0 = [0.02 0]; lb = [0 -1]; ub = [1 1]; data=... [ 0 0.846812 2 0.802778 4 0.757897 6 0.702854 8 0.653739 10 0.609704 ]; yexp = data(:,2); [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 = %.9f ± %.9f\n',k(1),ci(1,2)-k(1)) fprintf('\tk2 = %.9f ± %.9f\n',k(2),ci(2,2)-k(2)) fprintf(' The sum of the squares is: %.9e\n\n',resnorm) function f = ObjFunc(k,tspan,x0,yexp) % 目标函数 [t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k); Xsim1=Xsim(:,1); ysim(:,1) = Xsim1(1:end); size(ysim(:,1)); size(yexp(:,1)); f = (ysim(:,1)-yexp(:,1)); function dCdt = KineticsEqs(t,C,k) % ODE模型方程 dCAdt = -k(1)*(C^k(2)); dCdt = dCAdt; 运行之后,得到结果 使用函数lsqnonlin()估计得到的参数值为: k1 = 0.021862398 ± 0.005117281 k2 = -0.282935990 ± 0.797237745 The sum of the squares is: 4.866526201e-05 K1还好,但是K2显然有问题,我是按照论坛里的Code改的,不知道出了什么问题,请各位帮忙看看。 我自己编了一个零级反应的数据,但是也是K2出现问题。 不知道是不是数据太少的缘故。 烦请大神修正,不胜感激。 |
» 猜你喜欢
求助VISSIM破解版软件
已经有0人回复
求2026年在台湾举行的物理和材料领域国际学术会议信息
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有290人回复
求国际会议网站
已经有1人回复
求取一些关于纳米材料和纳米技术相关的英文PPT。
已经有0人回复
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有19人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
26申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
力学问题,大家给看看。
已经有15人回复
求高手相助!matlab求反应动力学模型参数
已经有6人回复
使用MATLAB拟合动力学参数问题
已经有18人回复
matlab求取循环中最大值对应的参数值
已经有12人回复
动力学方程组参数求解问题
已经有9人回复
谁能帮忙用1Stopt运行下程序呀?谢谢,我的1.5版本的运行不了啊
已经有6人回复
使用matlab最优化方法拟合获得多个动力学参数中的问题
已经有4人回复
matlab动力学模型编程求助
已经有6人回复
拜求!matlab拟合动力学参数
已经有14人回复
求助用matlab拟合动力学方程
已经有13人回复
重金请教-如何用MAtlab对力学模型进行参数识别
已经有12人回复
谁有成熟的求动力学参数的MATLAB的程序。
已经有11人回复
matlab 拟合反应动力学参数结果很差。大家帮忙看一下
已经有14人回复
请教matlab反应动力学参数估计遇到的问题,谢谢
已经有15人回复
同样的MATLAB程序,为何在别人的电脑上运行不了
已经有21人回复
matlab代码求解水动力学方程看不懂,请高手指点
已经有4人回复
【求助】催化反应动力学matlab计算各基元反应的速率常数时,该如何避免较小量被忽略?
已经有3人回复
【求助】使用Matlab预估动力学方程问题
已经有13人回复
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
laojin: 金币+10, ★★★很有帮助 2015-01-23 11:44:11
感谢参与,应助指数 +1
laojin: 金币+10, ★★★很有帮助 2015-01-23 11:44:11
|
应该没错吧,1stOpt求解: 均方差(RMSE):0.00311978140170499 残差平方和(SSE):4.86651799721219E-5 相关系数(R): 0.999116092954796 相关系数之平方(R^2): 0.998232967201257 确定系数(DC): 0.997978305044057 F统计(F-Statistic): 1483.90339065772 参数 最佳估算 -------------------- ------------- k 0.0218659845981955 a -0.282434977032699 ====== 结果输出 ====== 文件: 数据文件-1 No t 目标 c 计算 c 1 2 0.802778 0.800616656747102 2 4 0.757897 0.753655380090554 3 6 0.702854 0.705852003645687 4 8 0.653739 0.657115339412452 5 10 0.609704 0.607334455281825 |
2楼2015-01-23 10:34:55
laojin
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 4873.4
- 红花: 1
- 帖子: 98
- 在线: 67.3小时
- 虫号: 1227469
- 注册: 2011-03-09
- 性别: GG
- 专业: 化学反应工程
3楼2015-01-23 11:44:41













回复此楼