24小时热门版块排行榜    

查看: 811  |  回复: 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.
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
包括MATLAB在内的4种常见软件的程序代码或者操作步骤参见:
http://muchong.com/bbs/viewthread.php?tid=6572963&authorid=1122189

如果是代数方程,MATLAB程序编写不方便,建议尝试用1stopt。
如果是常微分方程,可在本版块搜索相关MATLAB程序,或者求助专家dingd。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-09-05 18:18:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 guanwei 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有没有仍没收到信息的 +3 德尚中行 2026-08-27 3/150 2026-08-28 15:24 by rongshuxia
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +4 gdd2018 2026-08-28 9/450 2026-08-28 14:22 by jklily
[基金申请] 2026年叶企孙基金 +3 bud_bud 2026-08-27 6/300 2026-08-28 11:53 by bud_bud
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
信息提示
请填处理意见