24小时热门版块排行榜     意得辑论文润色下单送200JD卡

查看: 1050  |  回复: 21

yupeifeng

金虫 (小有名气)

[交流] matlab求解方程中的参数已有4人参与

搞了这么久还是没有解决这个问题。现在求助于高手给予指点。谢谢了!!
实验数据为:(t,c)=(0,0.69)(2,0.645)(4,0.635)(8,0.62)(24,0.61)(48,0.61).其中t为时间,c为某离子的浓度。
动力学方程模型为:-dc/dt=k*(c0-c)^(1/3)*(c-c~).
其中c0为初始浓度可以取0.7,c~为平衡浓度取0.61.
怎么样才能拟合出参数k的值呢?谢谢大家给出程序代码,再次感谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

憧憬未来
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dbb627

荣誉版主 (著名写手)

★ ★ ★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
fegg7502: 金币+4, 多谢交流 2012-07-09 08:07:15
这个其实论坛里有很多例子,参考就能写出来。
给你写了个
CODE:
function parafit
clear all;
t=[0 2 4 8 24 48];
y=[0.69 0.645 0.635 0.62 0.61 0.61];
y0=0.69;

% Nonlinear least square estimate using lsqnonlin()
beta0=0.5;
lb=[0];ub=[inf];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@Func,beta0,lb,ub,[],t,y,y0);         
ci = nlparci(beta,residual,jacobian);
beta;
% result
fprintf('\n Estimated Parameters by Lsqnonlin():\n')
fprintf('\t k = %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('  The sum of the residual squares is: %.1e\n\n',sum(residual.^2))

% plot of fit results
tspan = [0  max(t)];
[tt yc] = ode45(@ModelEqs,tspan,y0,[],beta);
tc=linspace(0,max(t),200);
yca = spline(tt,yc,tc);
plot(t,y,'ro',tc,yca,'r-');
hold on
xlabel('Time');
ylabel('Concentration');
hold off
% =======================================
function f1 = Func(beta,t,y,y0)        % Define objective function
tspan =t;
[tt yy] = ode45(@ModelEqs,tspan,y0,[],beta);
yc= spline(tt,yy,t);
f1=y-yc;
% ==================================
function dydt = ModelEqs(t,y,beta)          % Model equations
dydt = -beta*(0.7-y).^(1/3)*(y-0.61);

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-07-02 17:38:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

dbb627

荣誉版主 (著名写手)

★ ★ ★ ★
fegg7502: 金币+4, 应助指数+1, 专家考核, 多谢交流 2012-07-09 08:07:38
结果如下
Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.




Estimated Parameters by Lsqnonlin():
         k = 1.0138 ± 0.3000
  The sum of the residual squares is: 1.5e-004


The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
3楼2012-07-02 17:39:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yupeifeng

金虫 (小有名气)

引用回帖:
3楼: Originally posted by dbb627 at 2012-07-02 17:39:27
结果如下
Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.

< ...

首先感谢这位 学长啊,我有点看不懂啊,你帮我 分析下思路,步骤是什么?就是先做设么计算,
憧憬未来
4楼2012-07-02 22:01:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

★ ★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
fegg7502: 金币+2, 多谢交流 2012-07-09 08:07:55
1stOpt求解:
CODE:
Constant c0=0.7,cp=0.61;
Variable t,c;
ODEFunction c'=-k*(c0-c)^(1/3)*(c-cp)
Data;
t,c
0,0.69
2,0.645
4,0.635
8,0.62
24,0.61
48,0.61

均方差(RMSE): 0.00535058522113925
残差平方和(SSE): 0.000143143811043369
相关系数(R): 0.955733024504782
相关系数之平方(R^2): 0.913425614129058
决定系数(DC): 0.852429060780033

参数                  最佳估算
--------------------        -------------
k        1.02159845408008
5楼2012-07-03 08:52:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yupeifeng

金虫 (小有名气)

引用回帖:
5楼: Originally posted by dingd at 2012-07-03 08:52:49
1stOpt求解:

Constant c0=0.7,cp=0.61;
Variable t,c;
ODEFunction c'=-k*(c0-c)^(1/3)*(c-cp)
Data;
t,c
0,0.69
2,0.645
4,0.635
8,0.62
24,0.61
48,0.61


均方差(RMSE): 0.00535058522113925
...

你好,我今天下载了个1stopt,不怎么会用啊,这个和matlab一样吗?
憧憬未来
6楼2012-07-03 09:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
fegg7502: 金币+1, 多谢交流 2012-07-09 08:08:09
比Matlab简单啊,优化拟合方面更是远胜Matlab!
7楼2012-07-03 09:45:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yupeifeng

金虫 (小有名气)

引用回帖:
7楼: Originally posted by dingd at 2012-07-03 09:45:41
比Matlab简单啊,优化拟合方面更是远胜Matlab!

不太会用,怎么去定义哪些量,怎么运行呢?
憧憬未来
8楼2012-07-03 09:49:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yupeifeng

金虫 (小有名气)

引用回帖:
5楼: Originally posted by dingd at 2012-07-03 08:52:49
1stOpt求解:

Constant c0=0.7,cp=0.61;
Variable t,c;
ODEFunction c'=-k*(c0-c)^(1/3)*(c-cp)
Data;
t,c
0,0.69
2,0.645
4,0.635
8,0.62
24,0.61
48,0.61


均方差(RMSE): 0.00535058522113925
...

我把你的程序复制后,提示没有定义参数,这是怎么回事啊
憧憬未来
9楼2012-07-03 10:16:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
fegg7502: 金币+1, 多谢交流 2012-07-09 08:08:30
你用的是网上的1.5PJ版吧?老了点,好像也不支持微分方程计算。用新版本没问题。
10楼2012-07-03 10:38:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yupeifeng 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 【博导推荐】北京工业大学赵丽娇教授课题组,现招收2022级博士生1名 +4 Q-夷则拾玖 2022-01-19 6/300 2022-01-24 13:49 by 高科研发
[硕博家园] 老师不管硕士毕业论文不知道该咋办 +11 lv886625 2022-01-19 15/750 2022-01-24 13:02 by 大聪明_cat
[考博] 呜呜,现在读博是不是找不到老师了啊 +9 Refusemay 2022-01-22 15/750 2022-01-24 11:53 by 豆子喔
[有机交流] 分离提纯 5+5 WAuh 2022-01-17 5/250 2022-01-24 10:46 by 88817753
[论文投稿] 博士第二年,才投出去一篇会议 +14 @xiaofan 2022-01-23 14/700 2022-01-24 08:44 by whwhc
[公派出国] CSC外方英语证明 +4 dure971 2022-01-18 10/500 2022-01-23 21:20 by echo1994
[基金申请] “近两年获NSFC资助的申请人,2022年再申请NSFC基金将从严掌握!” +13 华科胜武大 2022-01-20 20/1000 2022-01-23 21:05 by fairhere
[基金申请] 上传附件 +4 张春生 2022-01-21 7/350 2022-01-23 18:28 by 贺成鹏
[公派出国] 法国斯特拉斯堡大学Blanchard组诚招CSC公派留学有机化学博士 +5 杨雀妮 2022-01-17 6/300 2022-01-23 03:22 by 杨雀妮
[硕博家园] 编程学习打卡第37天 +3 左亚雪 2022-01-21 6/300 2022-01-23 00:31 by 阪本先生2
[论文投稿] JCP和ACS ami哪一个难度小 +7 zhgd 2022-01-21 9/450 2022-01-22 22:45 by 学霸12137
[基金申请] 博士后,申请青年基金,博士后面上项目和上海市超级博士后要写到项目里面吗 +6 甜甜小布丁 2022-01-22 10/500 2022-01-22 21:28 by 407599831
[论文投稿] 网上找不到该期刊 20+4 昨夜星辰。。 2022-01-21 9/450 2022-01-22 20:14 by dut_ameng
[考研] 400求调剂 +3 枫叶翩翩王 2022-01-20 3/150 2022-01-22 12:59 by 命运之王
[找工作] 周转房 | 佛山科学技术学院最新招聘信息 +5 千才汇 2022-01-18 8/400 2022-01-22 00:12 by 西山之枫
[论文投稿] 过年期间审稿人和杂志社放假吗。。。 +9 DOCTORZZZZ 2022-01-20 9/450 2022-01-21 21:34 by 風VS雲
[基金申请] 获批的国自然需要开题吗? 5+3 chenkai1985 2022-01-20 7/350 2022-01-21 17:13 by 甜甜小布丁
[公派出国] 申请材料 +4 monica333 2022-01-20 4/200 2022-01-21 09:05 by gklaplace
[有机交流] 想问下Pd(dba)2 和 Pd2(dba)3有什么区别,为什么Pd2(dba)3有多个CAS号? 15+3 十三岁#5334 2022-01-19 7/350 2022-01-20 10:16 by binzy
[考研] 390求调剂 +4 路路521 2022-01-19 4/200 2022-01-20 08:40 by semi2015
信息提示
请填处理意见