| 查看: 1971 | 回复: 5 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
matlab拟合模型参数
|
|||
| CA,CB,CC,CW,CR每个时间点t下都有具体数值,要怎么用matlab编程啊 |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : 新建 Microsoft Word 文档.doc
2012-03-23 11:05:51, 20.5 K
» 猜你喜欢
比利时鲁文大学固体物理系招收CSC博士
已经有0人回复
🌟 比利时新鲁汶大学(UCLouvain)诚邀CSC博士加入Pascal Gehring教授团队
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有162人回复
第一性原理计算方向2026级博士申请 PRB*1,四级484
已经有1人回复
求助VISSIM破解版软件
已经有0人回复
求2026年在台湾举行的物理和材料领域国际学术会议信息
已经有0人回复
求国际会议网站
已经有1人回复
求取一些关于纳米材料和纳米技术相关的英文PPT。
已经有0人回复
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
» 本主题相关价值贴推荐,对您同样有帮助:
matlab 求指点 动力学方程拟合过程中导数的获取
已经有10人回复
matlab拟合拟均相动力学参数
已经有6人回复
matlab拟合动力学参数
已经有4人回复
请教一个数据非线性拟合的问题
已经有11人回复
【求助】matlab 求解微分方程中的未知参数
已经有20人回复
【求助】用matlab最优化方法进行参数拟合
已经有17人回复
【求助】Matlab非线性最小二乘拟合活度系数模型(Willson、NRTL、UNIQUAC)
已经有17人回复
【求助】matlab 遗传算法工具箱绘图命令是什么?
已经有6人回复
|
%30℃ function IsothermTR clear all clc global keq1 keq3 t0 c0 keq1 = 3.94; % ƽºâ³£Êýk1 keq3 = 1.08; % ƽºâ³£Êýk3 t0 = [5,10, 15, 30, 45, 60,90,120,160,200,240,300,360]; c0 = [5.939601,5.203973,0,0.022484,0.078956] % A B C R W ×é³ÉµÄ³õʼŨ¶È ci=[3.742508811 4.213566482 0.990406938 0.252498405 0.090415512; 3.045716838 3.387013322 1.816960097 0.215546741 0.081072022; 2.504754523 2.901991595 2.301981824 0.193427102 0.099462604; 1.65098702 2.036686653 3.167286766 0.170236582 0.095144044; 1.271633833 1.655460403 3.548513016 0.124730781 0.10334349; 1.129887499 1.630815394 3.573158025 0.129798695 0.097764543; 1.01239208 1.460748979 3.74322444 0.144649391 0.073614958; 1.007417603 1.429180292 3.774793127 0.123477124 0.094249307; 0.990005723 1.499216939 3.704756481 0.135524067 0.076072022; 0.970073726 1.493966669 3.71000675 0.130791851 0.076387812; 0.96903024 1.429705429 3.77426799 0.119510017 0.101202216; 0.980873385 1.457988124 3.745985296 0.124189274 0.097022161; 0.98477262 1.453402965 3.750570455 0.1200936 0.0762608]; % cA cC cR ¶ÔӦʱ¼äÊýÖµ k0=[1 1 1]; % k1+, k2, k3+ ³õʼÏòÖµ lb = [0 0 0]; ub = [1000 1000 500]; % ÉÏÏÂÏÞ % ʹÓú¯Êýlsqnonlin()½øÐвÎÊý¹À¼Æ [k,resnorm,residual,exitflag] = lsqnonlin(@ObjFunc,k0,lb,ub,[],ci); k1plus=k(1); k1minus=keq1/k1plus; k2=k(2); k3plus=k(3); k3minus=keq3/k3plus; % ------------------------------------------------------------------ function f = ObjFunc(k,ci) % Ä¿±êº¯Êý global t0 c0 [t,c_cal] = ode45(@Euqations,t0,c0,[],k); f= c_cal-ci; % ------------------------------------------------------------------ function dcdt = Euqations(t,c,k) global keq1 keq3 k1plus=k(1); k1minus=keq1/k1plus; k2=k(2); k3plus=k(3); k3minus=keq3/k3plus; cA=c(1); cB=c(2); cC=c(3); cR=c(4); cW=c(5); dcAdt = k1plus*cA*cB-k1minus*cC+k2*cA*cW; dcCdt = -k1plus*cA*cB+k1minus*cC+k3plus*cB*cR-k3minus*cC*cW; dcRdt = k2*cA*cW-k3plus*cB*cR+k3minus*cC*cW; dcdt = [dcAdt; dcCdt;dcRdt]; 这个是我根据你的程序把自己的数据放进去了,可是运行不了,会出错,麻烦您再帮忙看看哪里有问题 |
6楼2012-03-26 11:40:05
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
2楼2012-03-23 15:34:22
change0618
铁杆木虫 (著名写手)
方丈大师
- 计算强帖: 1
- 应助: 44 (小学生)
- 金币: 17724.5
- 红花: 17
- 帖子: 2413
- 在线: 546.7小时
- 虫号: 496517
- 注册: 2008-01-19
- 专业: 化学反应工程
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
dbb627: 金币+2, 谢谢应助! 2012-03-23 17:16:55
lxyy: 金币+60, 如果可以,剩下的金币会再给你,呵呵 2012-03-23 19:17:04
感谢参与,应助指数 +1
dbb627: 金币+2, 谢谢应助! 2012-03-23 17:16:55
lxyy: 金币+60, 如果可以,剩下的金币会再给你,呵呵 2012-03-23 19:17:04
|
function IsothermTR clear all clc global keq1 keq2 t0 c0 keq1 = ?; % 平衡常数k1 keq2 = ?; % 平衡常数k2 t0 = [0.5, 1.0, 1.5, 2.0, 2.5, 3.0]; c0 = [?, ? ?] % A C W 组成的初始浓度 ci=[0.184 0.2443 0.1348; 0.4457 0.3214 0.1733; 0.7023 0.4183 0.2713; 0.7758 0.4789 0.1056; 0.3365 0.7035 0.1951; 0.7946 0.8864 0.2235]; % cA cC cR 对应时间数值 k0=[2 2 3]; % k1+, k2, k3+ 初始向值 lb = [0 0 0]; ub = [1000 1000 500]; % 上下限 % 使用函数lsqnonlin()进行参数估计 [k,resnorm,residual,exitflag] = lsqnonlin(@ObjFunc,k0,lb,ub,[],ci); k1plus=k(1); k1minus=keq1/k1plus; k2=k(2); k3plus=k(3); k3minus=keq1/k3plus; % ------------------------------------------------------------------ function f = ObjFunc(k,ci) % 目标函数 global t0 c0 [t,c_cal] = ode45(@Euqations,t0,c0,[],k); f= c_cal-ci; % ------------------------------------------------------------------ function dcdt = Euqations(t,c,k) global keq1 keq2 k1plus=k(1); k1minus=keq1/k1plus; k2=k(2); k3plus=k(3); k3minus=keq1/k3plus; cA=c(1); cC=c(2); cR=c(3); cB=?; % cB物料衡算表达 cW=?; % cW物料衡算表达 dcAdt = k1plus*cA*cB-k1minus*cC+k2*cA*cW; dccdt = -k1plus*cA*cB+k1minus*cC+k3plus*cB*cR-k3minus*cC*cW; dcRdt = k2*cA*cW-k3plus*cB*cR+k3minus*cC*cW; dcdt = [dcAdt; dcCdt;dcRdt]; |
3楼2012-03-23 17:13:43
4楼2012-03-23 19:15:18













回复此楼