24小时热门版块排行榜    

查看: 3141  |  回复: 21
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

anxiaoxin2

金虫 (小有名气)

[求助] MATLAB应用四阶龙格库塔法求解反应动力学问题? 已有2人参与

各位英雄大侠,你们好。本人在做铁水喷吹脱硫的优化,遇到一个问题,文献中是应用MATLAB四阶龙格库塔法分析的,本人对MATLAB不熟,希望大家能帮帮忙!
谢谢。。。
具体问题见附件。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 脱硫动力学微分方程.docx
  • 2015-03-05 14:00:32, 46.03 K

» 收录本帖的淘帖专辑推荐

动力学拟合

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
anxiaoxin2: 金币+300, ★★★很有帮助, 非常有用。。。 2015-03-06 08:37:41
CODE:
function solve_odes
clear all;clc
y0=[ ];    % [%s] [%Mg]在t=0时刻的数值,即其初值,待填入
tspan=; %时间t的范围,待填入
[t,y]=ode45(@my_odes],[2 0])
figure(1),plot(t,y(:,1));     % [%s]对时间t作图
figure(2),plot(t,y(:,2);      % [%Mg]对时间t作图

function dydt=my_odes
beta= ;    %β的数值
Ip= ;    Ip的数值
......   %以下依次把已经参数的数值填入。

dydt(1)=        ;  % d[%s]/dt的表达式
dydt(2)=        ;  % d[%Mg]/dt的表达式

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2015-03-05 21:00:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
5楼: Originally posted by anxiaoxin2 at 2015-03-06 08:37:00
谢谢版主。。。这个不需要m文件之类的吗?

你好,因为你没有各个变量或参数的具体数据,我给出的是一个m文件的框架,你把你的参数和方程填入,就能计算的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2015-03-06 08:40:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by anxiaoxin2 at 2015-03-17 17:06:06
你好,按你提供的输入到matlab中了,显示
dydt(1)=(6*b*Ip*U1*ip*Pm*Km*(*exp(-Tmix/T)-CaOe))/(Ds*Wm*Ps)+(6*Q*irt*Pm*Kb*(*exp(-Tmix/T)-Mge))/Wm/Db+0.4167*k*Pm**exp(-Tmix/T)**exp(-Tmix/T)+A*Pz*Ks*Ls*(*ex ...

在MATLAB中,[S]这种代码写法不对的,用单个字母代替,如果字母有重复,可以用字母+数字的属性,比如S1 S2 S_1 S_2
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2015-03-17 18:05:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

内容已删除
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
11楼2015-03-18 10:32:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

内容已删除
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
13楼2015-03-18 12:23:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
14楼: Originally posted by anxiaoxin2 at 2015-03-18 14:09:03
你好,我在以下表达式中,该如何表示?直接写y1,y2吗?dydt(1)=        ;  % d/dt的表达式
dydt(2)=        ;  % d/dt的表达式...

[%S],[%Mg]可直接写成y1 y2
代码按如下

function dydt=my_odes(t,y)
y1=y(1);
y2=y(2);
dydt(1)=        ;  % d[%s]/dt的表达式
dydt(2)=        ;  % d[%Mg]/dt的表达式
.......

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
15楼2015-03-18 14:35:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
16楼: Originally posted by anxiaoxin2 at 2015-03-18 15:26:43
版主,这个还是运行不了啊。。。
这是代码,你帮我看看呗
function solve_odes
clear all;clc
y0=;    %  在t=0时刻的数值,即其初值,待填入
tspan=; %时间t的范围,待填入
=ode45(‘my_odes’, tspan, y0) ...

S3没有定义,由于不知道S3的数值,以下代码中S3=0.3;程序已经可以跑通
CODE:
function solve_odes
clear all;clc
y0=[0.03,0.0001];    % [%S] [%Mg]在t=0时刻的数值,即其初值,待填入
tspan=[0:1:100]; %时间t的范围,待填入
[t,y]=ode15s(@my_odes, tspan, y0);
figure(1),plot(t,y(:,1));     % [%s]对时间t作图
figure(2),plot(t,y(:,2));      % [%Mg]对时间t作图

function dydt=my_odes(t,y)
b= 0.36392;   %β脱硫剂穿透比
Ip=0.233;  %脱硫剂喷粉速率
U1=0.4;  %CaO在脱硫剂中的质量分数
U3=0.6;  %Mg在脱硫剂中的质量分数
ip=25.85;  %粉剂在铁水中停留时间
irt=12.45;  %Mg气泡在铁水中的停留时间
Pm=7138;  %铁水密度
Ps=1380;  %脱硫剂密度        
Pz=3500;  %顶渣密度
Wm=210000;  %铁水重量
Wso=5000;  %初始渣量
Ds=0.001;  %脱硫剂径粒
Db=9.75E-05;  %Mg气泡直径
Km=1.42313E-05;  %铁水中硫的传质系数
Kb=0.001031861;  %硫在Mg气泡上的传质系数
Ks=4.19217E-09;  %硫在渣中的传质系数
k=5.20879E-05;  %表观反应常数
Tmix=240;  %混匀时间
Q=0.02777778;  %喷吹气量
A=8.24;  %渣金反应面积
Ls=169.6743082;  %硫的分配系数
B=0.9;  %Mg在铁液中的溶解比例
n=0.4;  %粉剂进入渣层的有效系数
SCaOe=5.71697E-05;  %CaO脱硫平衡时硫含量
SMge=1.42026E-05;  %Mg脱硫平衡时硫含量
S4=0.5;  %初始渣中硫含量
y1=y(1);
y2=y(2);

S3=0.1;

S2=(S4*Wso+(S3-y1*exp(-Tmix/t))*Wm)/(Wso+Ip*t*n);



dydt(1)=(6*b*Ip*U1*ip*Pm*Km*(y1*exp(-Tmix/t)-SCaOe))/(Ds*Wm*Ps)+(6*Q*irt*Pm*Kb*(y1*exp(-Tmix/t)-SMge))/Wm/Db+0.4167*k*Pm*y1*exp(-Tmix/t)*y2*exp(-Tmix/t)+A*Pz*Ks*Ls*(y1*exp(-Tmix/t)-S2/Ls)/Wm;
dydt(2)=100*B*U3*Ip/Wm-0.75*(0.4167*k*Pm*y1*exp(-Tmix/t)*y2*exp(-Tmix/t));

dydt=dydt';

MATLAB应用四阶龙格库塔法求解反应动力学问题?
附图1.png

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
17楼2015-03-18 16:29:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
17楼: Originally posted by 月只蓝 at 2015-03-18 16:29:34
S3没有定义,由于不知道S3的数值,以下代码中S3=0.3;程序已经可以跑通

function solve_odes
clear all;clc
y0=;    %  在t=0时刻的数值,即其初值,待填入
tspan=; %时间t的范围,待填入
=ode15s(@my_odes ...

S3=0.1;不是S3=0.3哈。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
18楼2015-03-18 16:30:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
19楼: Originally posted by anxiaoxin2 at 2015-03-19 08:09:30
版主,早上好啊。。。以上代码是怎么运行的?具体操作步骤能说下吗?我这还是不会运行。。。...

早上好。
代码框里面的代码完全复制,然后在MATLAB中 新建一个m文件 把m文件自带内容完全删除 粘贴代码 运行即可。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
20楼2015-03-19 08:36:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 anxiaoxin2 的主题更新
信息提示
请填处理意见