24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 3403  |  回复: 15

change0618

铁杆木虫 (著名写手)

方丈大师

cB=????;                 % cB物料衡算表达
cW=????;                % cW物料衡算表达

原来我给你写过,这地方用物料衡算的计算式,就是将B,W的浓度用其它组份的浓度表示出来。你不理解啥意思吗?
11楼2012-03-28 18:20:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxyy

银虫 (小有名气)

引用回帖:
11楼: Originally posted by change0618 at 2012-03-28 18:20:48:
cB=????;                 % cB物料衡算表达
cW=????;                % cW物料衡算表达

原来我给你写过,这地方用物料衡算的计算式,就是将B,W的浓度用其它组份的浓度表示出来。你不理解啥意思吗?

这个我有试过,但是程序还是有问题,运行不了
12楼2012-03-28 20:06:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxyy

银虫 (小有名气)

引用回帖:
10楼: Originally posted by dingd at 2012-03-28 17:10:04:
供参考:

Constant keq1 = 3.94, keq3 = 1.08;
ConstStr k1minus= k1plus/keq1,k3minus= k3plus/keq3,
         r1=k1plus*cA*Cb-k1minus*cC,
         r2=k2*cA*cW,
         r3=k3plus*cB*cR-k3minus*cC ...

您好,我想再请教下,用1stopt模拟的话,如果不知道k1+、k1-、k3+、k3-、之间的关系,这样要求的参数里面就多了k1-、k3-、两个参数,这样拟合的结果会好吗
13楼2012-03-28 20:26:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zl030091126

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
要说从程序上调整来使得对初值不依赖,那么就必须换掉调用的优化函数了,你用的是这个函数lsqnonlin,可以试试别的函数,或者自己编个优化函数。
A--B,虚线变成实线则是你的轨迹
14楼2012-03-28 22:16:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxyy

银虫 (小有名气)

引用回帖:
14楼: Originally posted by zl030091126 at 2012-03-28 22:16:11:
要说从程序上调整来使得对初值不依赖,那么就必须换掉调用的优化函数了,你用的是这个函数lsqnonlin,可以试试别的函数,或者自己编个优化函数。

这个我不是很懂,谢谢了
15楼2012-03-28 22:22:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fielding

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lxyy: 金币+10, ★★★很有帮助 2012-03-30 12:30:33
function KineticsEst
clear all
clc

x0 = [4.639975 5.289842 0 0.039974 0.063806];        % A B C R W 组成的初始浓
k0=[1 1 1];   % k1, k2, k3 初始向值
lb = [0 0 0];
ub = [1  +inf +inf];  % 上下限
KineticsData3;
yexp = Kinetics(:,2:6);
% 使用函数lsqnonlin()进行参数估计
[k,resnorm,residual,exitflag,output,lambda,jacobian]=...
    lsqnonlin(@ObjFunc,k0,lb,ub,[],x0,yexp);      

fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')
fprintf('\tk1 = %.4f ± %.4f\n',k(1))
fprintf('\tk2 = %.4f ± %.4f\n',k(2))
fprintf('\tk3 = %.4f ± %.4f\n',k(3))
% ------------------------------------------------------------------
function f = ObjFunc(k,x0,yexp)    % 目标函数
tspan = [0;5;10;15;30;46;60;90;120;160;200;240;300;360];
[t x]  = ode45(@Euqations,tspan,x0,[],k);
y(:,1) = x(:,1);
y(:,2:5) = x(:,2:5);
f1 = y(:,1) - yexp(:,1);
f2 = y(:,2) - yexp(:,2);
f3 = y(:,3) - yexp(:,3);
f4 = y(:,4) - yexp(:,4);
f5 = y(:,5) - yexp(:,5);
f = [f1; f2; f3; f4;f5];
% ------------------------------------------------------------------
function dcdt = Euqations(t,x,k)

r1 = k(1)*x(1)*x(2)-k(1)*x(3)/3.94;
r2 = k(2)*x(1)*x(5);
r3 = k(3)*x(2)*x(4)-k(3)*x(3)*x(5)/1.08;
dcAdt = -r1-r2;
dcBdt = -r1-r3;
dcCdt = r1+r3;
dcRdt = r2-r3;
dcWdt = -r2+r3;
dcdt = [dcAdt;dcBdt; dcCdt;dcRdt;dcWdt;];
16楼2012-03-29 18:30:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lxyy 的主题更新
信息提示
请填处理意见