24小时热门版块排行榜    

查看: 1170  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

898766282

新虫 (正式写手)

[求助] matlab 拟合多参数动力学方程 求程序 已有1人参与

模型方程在上传的图片里,求大神、高手帮帮忙,给我一个matlab拟合程序,非常感谢。
下面的是我自己写的,但是求不出,一直出错。
function Akinetics
clear all
clc
global R C
a0=[0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5]                       %参数初值
lb=[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0];                                               %参数下限
ub=[+inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf +inf];        %参数上限
sulv = ...
   [0.1260    0.0960    0.0630    0.2680    0.0210    0.0189    0.0126    0.0168    0.0147
    0.1260    0.1280    0.0630    0.2800    0.0210    0.0189    0.0126    0.0168    0.0147
    0.1220    0.1460    0.0610    0.2840    0.0203    0.0183    0.0122    0.0163    0.0142
    0.1400    0.1740    0.0700    0.2960    0.0233    0.0210    0.0140    0.0187    0.0163
    0.1700    0.1980    0.0850    0.3280    0.0283    0.0255    0.0170    0.0227    0.0198
    0.1700    0.2160    0.0850    0.3320    0.0283    0.0255    0.0170    0.0227    0.0198
    0.1760    0.2300    0.0880    0.3400    0.0293    0.0264    0.0176    0.0235    0.0205
    0.2140    0.2480    0.1070    0.4560    0.0357    0.0321    0.0214    0.0285    0.0250
    0.2440    0.2780    0.1220    0.4680    0.0407    0.0366    0.0244    0.0325    0.0285
    0.2620    0.2980    0.1310    0.5560    0.0437    0.0393    0.0262    0.0349    0.0306]

nondu = ...
   [0.0252    0.0192    0.0126    0.0536    0.0042    0.0038    0.0025    0.0034    0.0029
    0.0252    0.0256    0.0126    0.0560    0.0042    0.0038    0.0025    0.0034    0.0029
    0.0244    0.0292    0.0122    0.0568    0.0041    0.0037    0.0024    0.0033    0.0028
    0.0280    0.0348    0.0140    0.0592    0.0047    0.0042    0.0028    0.0037    0.0033
    0.0340    0.0396    0.0170    0.0656    0.0057    0.0051    0.0034    0.0045    0.0040
    0.0340    0.0432    0.0170    0.0664    0.0057    0.0051    0.0034    0.0045    0.0040
    0.0352    0.0460    0.0176    0.0680    0.0059    0.0053    0.0035    0.0047    0.0041
    0.0428    0.0496    0.0214    0.0912    0.0071    0.0064    0.0043    0.0057    0.0050
    0.0488    0.0556    0.0244    0.0936    0.0081    0.0073    0.0049    0.0065    0.0057
    0.0524    0.0596    0.0262    0.1112    0.0087    0.0079    0.0052    0.0070    0.0061]
R=sulv(:,1:9);C=nondu(:,1:9);               %实验数据

%使用lsqnonlin()进行参数估计
[a,resnorm,residual ,exitflag,output,lambda,jacobian]=lsqnonlin(@objfun,a0,lb,ub,R,C);
ci=nlparci(a,residual,jacobian);

function f=objfun(a)
global R C
f=R-r(a,C)

function rr=r(a,C)
rr=...
  [(-a(15).*(C(1).^a(1)).*C(2).^a(2)-a(16).*(C(1).^a(3)).*C(2).^a(4)-a(17).*(C(1).^a(5)).*C(4).^a(6)-a(18).*(C(1).^a(7)).*C(4).^a(8))
   (-a(15).*(C(1).^a(1)).*C(2).^a(2)-a(16).*(C(1).^a(3)).*C(2).^a(4)-a(17).*(C(1).^a(5)).*C(4).^a(6)-a(19).*(C(3).^a(9)).*C(2).^a(10)-a(21).*(C(3).^a(13)).*C(2).^a(14))
   (+a(15).*(C(1).^a(1)).*C(2).^a(2)-a(19).*(C(3).^a(9)).*C(2).^a(10)-a(20).*(C(3).^a(11)).*C(4).^a(12)-a(21).*(C(3).^a(13)).*C(2).^a(14))
   (+a(15).*(C(1).^a(1)).*C(2).^a(2)+a(18).*(C(1).^a(7)).*C(4).^a(8)-a(17).*(C(1).^a(5)).*C(4).^a(6)+a(19).*(C(3).^a(9)).*C(2).^a(10)-a(20).*(C(3).^a(11)).*C(4).^a(12))
   (+a(16).*(C(1).^a(3)).*C(2).^a(4)+a(20).*(C(3).^a(11)).*C(4).^a(12))
   (+a(18).*(C(1).^a(7)).*C(4).^a(8))
   (+a(17).*(C(1).^a(5)).*C(4).^a(6))
   (+a(19).*(C(3).^a(9)).*C(2).^a(10))
   (+a(21).*(C(3).^a(13)).*C(2).^a(14))]

matlab 拟合多参数动力学方程  求程序
dlxmx.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

898766282

新虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2015-11-01 19:04:30
这种问题建议楼主用1stOpt来求解。

求代码
4楼2015-11-01 19:20:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
这种问题建议楼主用1stOpt来求解。
2楼2015-11-01 19:04:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

898766282

新虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2015-11-01 19:04:30
这种问题建议楼主用1stOpt来求解。

这么多的参数,1sOpt 可以求出来吗?1sOpt 都还没接触过呢?
3楼2015-11-01 19:07:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
3楼: Originally posted by 898766282 at 2015-11-01 19:07:31
这么多的参数,1sOpt 可以求出来吗?1sOpt 都还没接触过呢?...

1stOpt如果都不行的话,Matlab就更困难了。自己先动手试试。
5楼2015-11-01 20:48:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 基金啊基金 +3 longfie172 2026-08-20 3/150 2026-08-21 00:04 by wuchongjun
[基金申请] 科研孤儿太难了 +14 我4大白菜 2026-08-20 15/750 2026-08-20 22:33 by 袁向阳007
[基金申请] 让我中一个面上吧! +8 大萍1987 2026-08-20 10/500 2026-08-20 21:48 by 大萍1987
[基金申请] 时间戳又变了 +12 wuchongjun 2026-08-20 17/850 2026-08-20 20:05 by spzhao
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 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
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见