| 查看: 672 | 回复: 1 | |||||
guanwei银虫 (小有名气)
|
[求助]
MATLAB拟合,正丁醇与乳酸酯化反应PH模型的拟合程序出现问题 已有1人参与
|
|
各位位,您好! 本人研究的方向是反应精馏,最近在评估PH模型的拟合找到反应速率常数,用最小二乘法进行计算,看到文献的编辑的程序,多次尝试,有如下疑问,希望各位虫友能帮忙解决 如下363.15K,正丁醇与乳酸酯化反应PH模型的拟合程序, function KineticsEst1_int11 clear all clc t=[0 20 40 100 270 450 750 1410 1590 1810];%时间 rA=[0.0004765 0.0004507 0.0004250 0.0003477 0.001549 0.0001117 0.0000396 0.0000018 0.0000038 0.0000062];%反应速率 Pa=[0.042729739 0.041609737 0.040801805 0.038526838 0.033412812 0.030519156 0.028695168 0.02792077 0.027918742 0.0278887981]; %乳酸的摩尔分率 Pb=[0.123670897 0.122550895 0.121742963 0.119467996 0.11435397 0.111460314 0.109636326 0.108861928 0.1088599 0.108829956];%正T醇的摩尔分率 Pc=[0.833599364 0.834719366 0.835527299 0.837802265 0.842916291 0.845809947 0.847633933 0.848408333 0.848410361 0.848440305];%水的摩尔分率 Pd=[0.001120002 0.001927934 0.004202901 0.009316927 0.012210583 0.014034571 0.014808969 0.014810996 0.014840941 0.014850941];%乳酸正丁酯的摩尔分率 %线性拟合 P=2.337132745*Pa.*Pb-0.564655417*Pc.*Pd;y=rA';X=[ones(size(y)) P']; b=X\y;k=b(2); %非线性拟合 beta0=[k] [beta,resnorm,residual,exitflag,output,lambda,jacobian] = ... lsqnonlin(@ObjFunc,beta0,[],[],[],rA,Pa,Pb,Pc,Pd) %拟合效果图(实验与拟合的比较) figure(1);plot(t,rA,'.') r_poly=beta(1)*(2.337132745*Pa.*Pb-0.564655417*Pc.*Pd); hold on;plot(t, r_poly,'g') figure(2);plot(Pb,rA,'.'); hold on;plot(Pb, r_poly,'g') %-----------------------------------------------------------------------------一 Function f=ObjFunc(beta,rA,Pa,Pb,Pc,Pd) f=rA-beta(1)*(2.337132745*Pa.*Pb-0.564655417*Pc.*Pd); 出现以下错误 ??? Error using ==> feval Undefined function or method 'ObjFunc' for input arguments of type 'double'. Error in ==> lsqnonlin at 203 initVals.F = feval(funfcn{3},xCurrent,varargin{:}); Error in ==> KineticsEst1_int11 at 33 [beta,resnorm,residual,exitflag,output,lambda,jacobian] = ... Caused by: Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue. |
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有237人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖
感谢参与,应助指数 +1
|
包括MATLAB在内的4种常见软件的程序代码或者操作步骤参见: http://muchong.com/bbs/viewthread.php?tid=6572963&authorid=1122189 如果是代数方程,MATLAB程序编写不方便,建议尝试用1stopt。 如果是常微分方程,可在本版块搜索相关MATLAB程序,或者求助专家dingd。 |

2楼2014-09-05 18:18:29













回复此楼