24小时热门版块排行榜    

查看: 1273  |  回复: 0

安之两隅

金虫 (小有名气)

[求助] Matlab 非线性拟合问题

Matlab小白,参照黄华江matlab在化学工程中的应用的教材来改写模型,但是运行的时候出现了,请大家帮忙看一下,麻烦了!

function kinetics3
clear all
clc
%实验数据
B = [1.319 1.3161 1.3112 1.2892 1.2695 1.2601 1.2485 1.2389 1.2245 1.2052 1.181 1.1456 1.1402 1.1134 1.0827 1.036 0.9634];
C= [0.0813 0.0957 0.1188 0.1532 0.1877 0.2089 0.2333 0.2621 0.2891 0.3323 0.3738 0.4275 0.4464 0.4916 0.5393 0.6141 0.7114];
r = [0.02286 0.02244 0.02202 0.0216 0.02118 0.02076 0.02034 0.01992 0.0195 0.01908 0.01866 0.01796 0.01726 0.01656 0.01586 0.01376 0.01166];

% 用多变量线性回归方法估计动力学参数
R =B./r;
y = R;
X = [ones(size(y)) B C];
b = X\y  % 或[b,bint] = regress(y,X,0.05);
KZ = 1/b(1);
KB = b(2)*KZ;
KC = b(3)*KZ;
% 用lsqnonlin()--求解非线性最小二乘法(非线性数据拟合)问题
beta0 = [KZ KB KC];
lb = [1 1 1];
ub = [+inf +inf +inf];
[beta,resnorm,resid,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFun,beta0,lb,ub,[],B,C,r);
ci = nlparci(beta,resid,jacobian);

% 模型适定性判别
Ne = length(r);
Np = length(beta);
[rho2, F] = rho2_F(KZ, r, resnorm, Ne, Np);

% 残差关于拟合值的残差图
rc = RateEqs(beta,B,C);
plot(rc,resid,'*');
xlabel('反应速率拟合值');
ylabel('实验速率');
refline(0,0);

% 参数辨识结果
fprintf('\n\nEstimated Parameters:\n')
fprintf('\tKZ= %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('\tKB = %.2f ± %.2f\n',beta(2),ci(2,2)-beta(2))
fprintf('\tKC = %.2f ± %.2f\n',beta(3),ci(3,2)-beta(3))



% ------------------------------------------------------------------
function f = ObjFun(beta,B,C,r)
rc = RateEqs(beta,B,C);
f = r - rc;

% ------------------------------------------------------------------
function rc = RateEqs(beta,B,C)    % Rate equation
rc = beta(1)*B./(1+beta(2)*B+beta(3)*C);



错误使用 snls (line 47)
Objective function is returning undefined values at initial point. lsqnonlin cannot continue.

出错 lsqncommon (line 167)
            snls(funfcn,xC,lb,ub,flags.verbosity,options,defaultopt,initVals.F,initVals.J,caller, ...

出错 lsqnonlin (line 253)
   lsqncommon(funfcn,xCurrent,lb,ub,options,defaultopt,allDefaultOpts,caller,...

出错 Kinetics3 (line 23)
    lsqnonlin(@ObjFun,beta0,lb,ub,[],B,C,r);
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 安之两隅 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 5/250 2026-08-08 21:54 by 13586093586
[基金申请] 2026国自然放榜时间 +3 布布和一二 2026-08-08 3/150 2026-08-08 18:15 by Lightingo
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:19 by oEVWOejN9taj
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 16:47 by oEVWOejN9taj
[基金申请] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 5/250 2026-08-08 16:27 by oEVWOejN9taj
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:02 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 WQyTGMbfH7Cx 2026-08-07 4/200 2026-08-08 15:02 by oEVWOejN9taj
[基金申请] fileCode有新解读? +9 Tide man 2026-08-08 17/850 2026-08-08 14:56 by archvillain
[基金申请] 这样的filecode谁见过 +5 布布和一二 2026-08-08 8/400 2026-08-08 14:54 by archvillain
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
信息提示
请填处理意见