动力学模型的参数估计

时间:2014-04-15 18:50:30

标签: matlab matlab-figure nonlinear-optimization

我有一个带有约束K3的化学动力学模型(2-组织室模型)(其中K3是速率常数)

我已经建模等离子体功能以及化学动力学模型以绘制输出特性

我想从下面的代码中估算出速率常数k3

function c_t = output_function_constrainedK3(t, a1, a2, a3,b1,b2,b3,td, tmax,k1,k2,k3)

DV_free= k1/(k2+k3);
K3 = k3*((k1/k2)/DV_free);
K_1   = (k1*k2)/(k2+K3);
K_2   = (k1*K3)/(k2+K3);

c_t = zeros(size(t));

ind = (t > td) & (t < tmax);

c_t(ind)= conv(((t(ind) - td) ./ (tmax - td) * (a1 + a2 + a3)),(K_1*exp(-(k2+K3)*t(ind)+K_2)),'same');

ind = (t >= tmax);

c_t(ind)= conv((a1 * exp(-b1 * (t(ind) - tmax))+ a2 * exp(-b2 * (t(ind) - tmax))) + a3 * exp(-b3 * (t(ind) - tmax)),(K_1*exp(-(k2+K3)*t(ind)+K_2)),'same');

plot(t,c_t);
figure

%plot(t,c_tnp);
axis([0 50 -2000 80000]);
xlabel time ;
ylabel concentration ;

end

所有参数的初始估算都列在

之下
t=0:0.1:60;
td =0.3;
tmax=0.8;
a1=2501;
a2=18500;
a3=65000;
b1=0.5;
b2=0.7;
b3=0.3;
k1=0.014;
k2=0.051;
k3=0.07;

请建议我从上述非线性动力学模型代码中估算K3参数的方法

在上述函数中,a1,a2,a3,b1,b2,b3,td,tmax,k1,k2的参数值将保持不变。

我想知道K3值如何随着时间t值的变化而变化,为此我想最初估计K3在t t t = 0:0.1:60 ..

任何帮助非常感谢

0 个答案:

没有答案