24小时热门版块排行榜    

查看: 1194  |  回复: 10

njhx505

木虫 (正式写手)

[交流] 【求助】30金币求一程序 已有4人参与


请各位高手帮个忙,CA,CB是不同时间测得浓度值,求k1,k2

数据给出,希望高手可以帮忙,谢谢

[ Last edited by njhx505 on 2010-6-4 at 19:42 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab


robert2020(金币+1):鼓励应助! 2010-06-04 22:30:45
引用回帖:
Originally posted by njhx505 at 2010-06-04 16:22:41:

请各位高手帮个忙,CA,CB是不同时间测得浓度值,求k1,k2

想明确一点
只有两个值?拟合 应该不可以 还是考虑数值积分吧

[ Last edited by lijinfeng042 on 2010-6-4 at 17:19 ]
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
2楼2010-06-04 17:03:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


robert2020(金币+1):鼓励应助! 2010-06-04 22:31:02
上数据

看微分方程式,dCA/dt=-2*dCB/dt

那么只需要知道CA0,CB0 以及 A或B随时间的变化数据就可以估值了

也就是说只需要估值一个微分方程就可以了

[ Last edited by change0618 on 2010-6-4 at 20:12 ]
3楼2010-06-04 17:31:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

zzuwangshilei:积极参与 2010-06-05 10:53:08
数据有的恶劣
4楼2010-06-04 20:28:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njhx505

木虫 (正式写手)

希望高手们能把MATLAB运行程序给我,谢谢
5楼2010-06-04 20:39:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wudi_82

★ ★
zzuwangshilei(金币+2):辛苦了,多谢应助 2010-06-05 10:52:39
njhx505(金币+3):谢谢 2010-06-06 21:57:51
(2)式*2+(1)式得到   dCA(t)/dt+2*dCB(t)/dt=0;
在任意小区间[t0,t]积分得到:CA(t)+2*CB(t)=const ....(*)式
计算一下你表格中的数据,不满足是常数。至于怎么处理,或者重新采集数据或者像你提到的满足某种最优。
另外:
将(*)式代入到上面其中一个方程比如(1)得到:
dCA/dt=-k1*CA^2-k2*CA+const; 这个方程建议还是数值求解比较方便,比如向前欧拉,向后欧拉方法等等,要想得到高精度的就用Runge-Kutta。
6楼2010-06-05 03:24:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njhx505

木虫 (正式写手)

不能编写一个程序来求解吗,这只是一小部分数据,要是直接手算计算量太大
7楼2010-06-05 12:50:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


zzuwangshilei(金币+1):多谢积极参与 2010-06-05 15:16:11
njhx505(金币+3): 2010-06-06 21:58:24
你给的CA数据有问题

按照你的微分方程式可以得到一下关系:

CA-CA0=-2*(CB-CB0)

所以我认为你的数据拟合只需要

t=0时的 CA0  CB0
以及一组CA值或者CB值就可以了。

当然CA,CB数据都有的话,可以验证你的数据的准确性

[ Last edited by change0618 on 2010-6-5 at 15:02 ]
8楼2010-06-05 14:58:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

njhx505

木虫 (正式写手)

CA0也是知道的,第一排就是CA0,CB0,希望能够帮忙编写个求解k1.k2的程序
9楼2010-06-05 16:38:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

★ ★
kuhailangyu(金币+2):欢迎积极参与 2010-06-05 22:36:53
njhx505(金币+24):谢谢你的程序,真是救了我的急 2010-06-06 21:59:25
引用回帖:
Originally posted by njhx505 at 2010-06-05 16:38:43:
CA0也是知道的,第一排就是CA0,CB0,希望能够帮忙编写个求解k1.k2的程序

给你一个程序,但是数据不是你的,自己修改去吧


function Kinetics
% 动力学ODE方程模型的参数估计
clear all
clc
ExpData = ...
[        0          0.1883
    0.0100    0.2047
    0.0200    0.2181
    0.0300    0.2291
    0.0400    0.2382
    0.0500    0.2459
    0.0600    0.2523
    0.0700    0.2576
    0.0800    0.2622
    0.0900    0.2660
    0.1000    0.2692
    0.1100    0.2719
    0.1200    0.2742
    0.1300    0.2761
    0.1400    0.2777
    0.1500    0.2790
    0.1600    0.2801
    0.1700    0.2811
    0.1800    0.2819
    0.1900    0.2825
    0.2000    0.2830
];
t = ExpData(:,1);   % ExpData第一列为时间
CB = ExpData(:,2);  % ExpData第二列为组分B的浓度
CB0 = CB(1);        % t=0时,组分B初始浓度
CA0 = 0.8;          % t=0时,组分A初始浓度
CA = CA0-2*(ExpData(:,2)-CB0);  % 由微分方程式导出来的CA与CB关系式
k0 = [20 50];       % 估值参数的猜想值
lb = [0 0];         % 设定的估值参数上限
ub = [+inf  +inf];  % 设定的估值参数下限
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,[],t,[CA0,CB0],[CA,CB]);
ci = nlparci(k,residual,jacobian);  % 计算置信区间
fprintf('\n\n估计参数值为:\n')
fprintf('\tk1 = %.6f\t置信区间:[%.6f %.6f]\n',k(1),ci(1,: ))
fprintf('\tk2 = %.6f\t置信区间:[%.6f %.6f]\n',k(2),ci(2,: ))
tt = linspace(t(1),t(end),101);
[tt C] = ode45(@KineticEqs,tt,[CA0,CB0],[],k);  % 由估值k计算时间序列tt下的A,B浓度
figure(1)
plot(t,CA,'o',tt,C(:,1),'r-')
xlabel('t'); ylabel('C_A')
figure(2)
plot(t,CB,'o',tt,C(:,2),'r-')
xlabel('t'); ylabel('C_B')
% ------------------------------------------------------------------
function f = ObjFunc(k,tspan,x0,yexp)
[t,y] = ode45(@KineticEqs,tspan,x0,[],k);
f = y(: ) - yexp(: );
% ------------------------------------------------------------------
function dxdt = KineticEqs(t,x,k)
dxdt =[-k(1)*x(1)^2+2*k(2)*x(2);
       0.5*k(1)*x(1)^2-k(2)*x(2)];

[ Last edited by change0618 on 2010-6-5 at 18:23 ]
10楼2010-06-05 18:15:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 njhx505 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 26考研求调剂 +6 丶宏Sir 2026-03-13 6/300 2026-03-17 16:13 by 醉在风里
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +3 小李0854 2026-03-16 3/150 2026-03-17 13:40 by 热情沙漠
[考博] 26申博 +4 八旬速览 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 302求调剂 +4 小贾同学123 2026-03-15 8/400 2026-03-17 10:33 by 小贾同学123
[考研] 药学383 求调剂 +3 药学chy 2026-03-15 4/200 2026-03-16 20:51 by 元子^0^
[考研] 311求调剂 +5 26研0 2026-03-15 5/250 2026-03-16 16:21 by a不易
[考研] 一志愿华中师范071000,325求调剂 +6 RuitingC 2026-03-12 6/300 2026-03-16 14:50 by 可淡不可忘
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 5/250 2026-03-14 16:30 by JourneyLucky
[考研] 【0703化学调剂】-一志愿华中师范大学-六级475 +5 Becho359 2026-03-11 5/250 2026-03-14 11:35 by 哦哦123
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 333求调剂 +3 球球古力 2026-03-11 3/150 2026-03-13 21:27 by JourneyLucky
[考研] 26调剂/材料科学与工程/总分295/求收留 +9 2026调剂侠 2026-03-12 9/450 2026-03-13 20:46 by 18595523086
[考研] 308求调剂 +3 是Lupa啊 2026-03-12 3/150 2026-03-13 14:30 by 求调剂zz
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 0856化学工程280分求调剂 +4 shenzxsn 2026-03-11 4/200 2026-03-13 11:55 by ymwdoctor
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
信息提示
请填处理意见