24小时热门版块排行榜    

查看: 1205  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 266求调剂 +5 阳阳哇塞 2026-03-14 9/450 2026-03-18 15:05 by stone_128
[考研] 一志愿武理材料305分求调剂 +3 想上岸的鲤鱼 2026-03-18 4/200 2026-03-18 14:33 by laoshidan
[考研] 301求调剂 +9 yy要上岸呀 2026-03-17 9/450 2026-03-18 08:58 by 无际的草原
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 332求调剂 +6 Zz版 2026-03-13 6/300 2026-03-17 17:03 by ruiyingmiao
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 267一志愿南京工业大学0817化工求调剂 +6 SUICHILD 2026-03-12 6/300 2026-03-17 09:24 by 雾散后相遇lc
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 283求调剂 +10 小楼。 2026-03-12 14/700 2026-03-16 16:08 by 13811244083
[考研] 085600调剂 +5 漾漾123sun 2026-03-12 6/300 2026-03-16 15:58 by 漾漾123sun
[考研] 085600材料与化工 求调剂 +13 enenenhui 2026-03-13 14/700 2026-03-16 15:19 by 了了了了。。
[考研] 一志愿华中师范071000,325求调剂 +6 RuitingC 2026-03-12 6/300 2026-03-16 14:50 by 可淡不可忘
[考研] 277材料科学与工程080500求调剂 +3 自由煎饼果子 2026-03-16 3/150 2026-03-16 14:10 by 运气yunqi
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 308 085701 四六级已过求调剂 +7 温乔乔乔乔 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[考研] 招收0805(材料)调剂 +3 18595523086 2026-03-13 3/150 2026-03-14 00:33 by 123%、
[考研] 26调剂/材料/英一数二/总分289/已过A区线 +6 步川酷紫123 2026-03-13 6/300 2026-03-13 21:59 by 星空星月
[考研] 材料工程调剂 +4 咪咪空空 2026-03-11 4/200 2026-03-13 19:57 by JourneyLucky
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考博] 26读博 +4 Rui135246 2026-03-12 10/500 2026-03-13 07:15 by gaobiao
信息提示
请填处理意见