我如何解决两个颂歌(dct / dt和博士/ dt)同时使用全局优化与数值和优化两个参数吗?

3视图(30天)
Gokul饶
Gokul饶 2021年6月3日
回答: 明星黾 2021年6月7日
2的评论
Gokul饶
Gokul饶 2021年6月7日
函数dYdt =浓度(t Y p)
R = Y (1);
CT = Y (2);
%已知参数
r = 250;% 0.684嗯半径的吸附剂
射频= 0.684;%浓度溶质渗透面前吸附剂半径
P = 2.439;% 2.439密度的吸附剂
m = 1;% 1 g吸附剂的质量
g = 50;% 50毫升/分钟气体流量
有限公司= 0.1;% 0.1最初的二氧化碳浓度
qet = 138.72;% 138.72二氧化碳浓度平衡
kF = 43.764;% 43.764。弗常数
nF = 2.7697;
cet(中央东部东京)= 24.416;
%未知参数
公斤= p (1);
德= p (2);
%非线性微分方程显示浓度与时间的变化
Ch = (qet * m) / (. * g);
Bi =(公斤/德)* r;
CET(中央东部东京)= CET(中央东部东京)/有限公司;
射频/ R R =;
N = (3 * Ch * qet * r ^ 2) + ((kF / nF) * (CET(中央东部东京)^ (1 / nF-1)) * (Ch * Bi *(第一轮^ 3)* CT) * (1 / (r + Bi *(第一轮))^ 2));
M = 1 + Ch *(第一轮^ 3)* (kF / nF) * (CET(中央东部东京)^ (1 / nF-1)) * (Bi *(第一轮))* (1 / (r + Bi *(第一轮)));
汇票= - (Bi *(公司/ P * qet) * (CT-CET)) * (1 / R ^ 2);
dCTdt = N / M *(汇票);
dYdt = (dCTdt;汇票);
结束
%定义目标
obj =目标函数(p)
%初始条件在t = 0
R = 0.999;
CT = 1.0;
Y0 = (R; CT);
%的具体时间点对应于实验时间点(分钟)
tspan = [0 5 10 15 20 25 30 35 40 45 50 55 60);
% p通过衬底的句柄函数和获得数值
%模型通过求解非线性微分方程
[t、Y] =数值(@ (t, Y)浓度(p t Y), tspan, Y0);
在每个时间点ts %实验数据
CT1measured = (1 2 3 4 5 6 7 8 9 10 11 12 13);
CT1measured = CT1measured ';
%目标函数最小化的平方之间的差异
%的数值模型和实验数据
= (CT-CT1measured) ^ 2;
obj = (A)之和;
结束
清晰;
clc;
关闭所有;
%参数初始猜测
公斤= 1;
德= 1;
p0 =(公斤;De);
%目标函数的平方数字和之间的区别
有趣= @objective;%处理函数创建
%确定未知参数
% (p, fval),找到两个非线性的最小p的位置
%函数和函数的值最小。
[p, fval] = fminunc(有趣,p0);
%优化参数值
公斤= p (1);
德= p (2);
disp([公斤:num2str(公斤)))
disp(['德:“num2str (De)))
%计算模型参数更新
p =[公斤;德];
tspan = [0 5 10 15 20 25 30 35 40 45 50 55 60);
R = 0.999;
CT = 1.0;
Y0 = (R; CT);
[t、Y] =数值(@ (t, Y)浓度(p t Y), tspan, Y0);
CT1measured = (1 2 3 4 5 6 7 8 9 10 11 12 13);
%的更新后的参数值
情节(tspan CT1measured、“o”tspan, Y,“r”),包含(“时间(分钟)”);ylabel (Ct / Co);
标题(“Ct / Co与时间(分钟));网格

登录置评。

答案(3)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021年6月5日
这些都是耦合常微分方程。解决这些常微分方程数值:
(0)指定所有常数参数
(1)构建fcn文件或匿名fcn处理
(2)打电话解决fcn使用其中一个连接器:ode23, ode113数值


社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的