24小时热门版块排行榜    

查看: 1340  |  回复: 4

l1003785517

新虫 (小有名气)

[求助] Matlab 用多变量线性回归方法估计动力学参数 已有1人参与

各位虫友好!
       我在用多变量线性回归方法估计动力学参数的时候写了如下代码(根据书上例题进行修改的),但是程序运行不了,说是目标函数返回了未定义参数。
有哪位帮忙看一下是哪里写错了吗?我自己一直没检查出来哪里错了,谢谢大家!

function KineticsEst
% 动力学参数估计

clear all
clc
C_DC=[6.31317 6.29412 6.27507 6.26237 6.24713 6.23316 6.221095 6.210935];
C_TT=[0.029302 0.04459 0.059878 0.069433 0.080899 0.091091 0.099372 0.107016];
C_NP=[0.007644 0.011466 0.015288 0.018473 0.022295 0.026117 0.029939 0.032487];
r1=[0.0574 0.0407 0.0241 0.0278 0.0315 0.0268 0.022 0.0172];
% 用多变量线性回归方法估计动力学参数
R = C_DC/r1;
y = R;
X = [ones(size(y)) C_DC C_TT C_NP];
b=X\y;    % 或b = X\y
k1= 1/b(1);
k2 = b(2)*k1;
k3 = b(3)*k1;
k4 = b(4)*k1;

% 用lsqnonlin()--求解非线性最小二乘法(非线性数据拟合)问题
beta0 = [k1 k2 k3 k4];
lb = [0  0  0  0];
ub = [+inf  +inf  +inf  +inf];
[beta,resnorm,resid,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFun,beta0,lb,ub,[], C_DC,C_TT,C_NP,r1);
ci = nlparci(beta,resid,jacobian);

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

% 残差关于拟合值的残差图
rc = RateEqs(beta,C_DC,C_TT,C_NP);
plot(rc,resid,'*')
xlabel('反应速率拟合值, mol/(min g催化剂)')
ylabel('残差R, mol/(min g催化剂)')
refline(0,0)

% 参数辨识结果
fprintf('\n\nEstimated Parameters:\n')
fprintf('\tk1 = %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('\tk3 = %.4f ± %.4f\n',beta(2),ci(2,2)-beta(2))
fprintf('\tk4 = %.4f ± %.4f\n',beta(3),ci(3,2)-beta(3))
fprintf('\tk5 = %.4f ± %.4f\n',beta(4),ci(4,2)-beta(4))
fprintf('  决定性指标ρ^2: %.3f\n',rho2)
fprintf('  F比: %.3f\n\n',F)


% ------------------------------------------------------------------
function f = ObjFun(beta,C_DC,C_TT,C_NP,r1)
rc =RateEqs(beta,C_DC,C_TT,C_NP);
f = r1 - rc;

% ------------------------------------------------------------------
function rc =RateEqs(beta,C_DC,C_TT,C_NP)    % Rate equation
rc = beta(1)*C_DC./(1+beta(2)*C_DC+beta(3)*C_TT+beta(4)*C_NP);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
你这里还却  rho2_F( )自定义 函数。
QQ:2120156492
2楼2018-07-11 19:52:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mxx99

新虫 (初入文坛)

引用回帖:
1楼: Originally posted by l1003785517 at 2018-07-09 17:05:38
各位虫友好!
       我在用多变量线性回归方法估计动力学参数的时候写了如下代码(根据书上例题进行修改的),但是程序运行不了,说是目标函数返回了未定义参数。
有哪位帮忙看一下是哪里写错了吗?我自己一直没 ...

你在哪本书里看的例题,可以发一下,我也想学习这个

发自小木虫IOS客户端
3楼2018-07-13 06:46:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

l1003785517

新虫 (小有名气)

引用回帖:
3楼: Originally posted by Mxx99 at 2018-07-13 06:46:24
你在哪本书里看的例题,可以发一下,我也想学习这个
...

黄江华编著的实用化工计算机模拟

发自小木虫IOS客户端
4楼2018-07-15 14:41:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

l1003785517

新虫 (小有名气)

引用回帖:
2楼: Originally posted by hzlhm at 2018-07-11 19:52:37
你这里还却  rho2_F( )自定义 函数。

谢谢,找到原因了!

发自小木虫IOS客户端
5楼2018-07-15 14:42:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 l1003785517 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 9/450 2026-08-21 15:38 by dcqxinyang
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见