24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2270  |  回复: 15

_alarrn90

无虫 (小有名气)

[求助] matlab解微分方程组

哪位高手指点一下matlab解微分方程组!
图片是微分方程组。
下面是我根据网上查到的解法写的程序,能运行,但是计算出来的图像完全不对。
主函数:
tspan=[0:0.01:2];%求解时间为2秒也可以 tspan=[0 2]表示自动时间步长
x0=[0;0;2.4*10^(-4);20;1.15*10^(-7);0];%初值
[t,x]=ode45(@ff,tspan,x0);%用龙格库塔法求解
figure
plot(t,x(:,1))
figure
plot(t,x(:,2))
figure
plot(t,x(:,3))
figure
plot(t,x(:,4))
figure
plot(t,x(:,5))
figure
plot(t,x(:,6))

M文件
%微分方程
function dx=ff(t,x)
dx=zeros(6,1);
%x(1)=X1
%x(2)=X2
%x(3)=X3
%x(4)=X4
%x(5)=X5
%x(6)=X6
k1u=1.5*10^(-7)
k1b=1.0*10^(-4)
k2=1.3*10^(7)
k3=7*10^(-1)
k4=1.0*10^(10)
k5=2.6*10^(9)
k6=3*10^(3)
Xc=0.5
MMT=0
dx(1)=2*k1u*x(3)+k1b*x(3)^2-k2*x(1)*x(5)+k3*x(2)*x(4)-2*k4*x(1)^2-k5*x(1)*x(2);
dx(2)=k1b*x(3)^2+k2*x(1)*x(5)-k3*x(2)*x(4)-k5*x(1)*x(2)-2*k6*x(2);
dx(3)=-k1u*x(3)-2*k1b*x(3)^2+k3*x(2)*x(4);
dx(4)=-k1u*x(3)-k1b*x(3)^2-k3*x(2)*x(4);
dx(5)=-k2*x(1)*x(5)+k6*x(2)^2;
dx(6)=(k1u*x(3)+k1b*x(3)^2)*(1-Xc-MMT)*1.1111;
end















回复此楼

» 猜你喜欢

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

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

buxiudehun

木虫 (小有名气)

【答案】应助回帖


dbb627(金币+1): 欢迎交流 2011-12-02 09:29:51
_alarrn90(金币+2): 2011-12-10 10:44:38
可能性很多,首先你确定没有打错公式,其次你可以选择别的求解方法,不过这个问题看起来非线性性不是很强,步长小一些再试试。。。
2楼2011-12-02 09:22:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_alarrn90

无虫 (小有名气)

多谢,我试一下。
3楼2011-12-02 09:47:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zt_chem

木虫 (正式写手)

【答案】应助回帖

_alarrn90(金币+2): 2011-12-10 10:44:43
为什么在程序最后加上‘end’?加上以后程序运行不下去啊?另外,步长减小以后结果变化很大
4楼2011-12-03 10:26:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_alarrn90

无虫 (小有名气)

多谢,但是我感觉加不加end没什么影响吧。去掉了end计算出来的结果也不太对,你还看出其他什么问题没有?
5楼2011-12-03 11:26:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

你的方程有些问题,氧气的方程有关于空间的扩散项,没包涵.第四个初值是pH吧,怎么取到20了,氧气浓度也太低了吧,你是不是把条件写错了
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
6楼2011-12-09 23:39:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_alarrn90

无虫 (小有名气)

确实是氧气浓度的初值有问题,我忘记乘上环境压力,但是修改后的图趋势没什么变化。扩散的影响在这里可以忽略。[PH]的初值确实是20.问一下您对照下面微分方程的话,程序本身有没有错误?因为计算出来的图的趋势与文献明显不同。另外我想问一下初值以及步长的设定对图的变化趋势影响大不大,或者还有没有其他影响图形趋势的因素?非常感谢。
7楼2011-12-10 10:43:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

引用回帖:
7楼: Originally posted by _alarrn90 at 2011-12-10 10:43:54:
确实是氧气浓度的初值有问题,我忘记乘上环境压力,但是修改后的图趋势没什么变化。扩散的影响在这里可以忽略。[PH]的初值确实是20.问一下您对照下面微分方程的话,程序本身有没有错误?因为计算出来的图的趋势与 ...

程序本身没看出来啥问题,初值和步长对图形趋势很有影响的,这个步长取太大,有些极值,拐点就跳过了
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
8楼2011-12-10 11:08:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_alarrn90

无虫 (小有名气)

这是模拟出的图和文献中图的对比





9楼2011-12-10 11:09:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

_alarrn90

无虫 (小有名气)

那您觉得怎么调整可能会好一些?
10楼2011-12-10 11:14:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 _alarrn90 的主题更新
信息提示
请填处理意见