24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2275  |  回复: 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的回帖

_alarrn90

无虫 (小有名气)

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

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的回帖
信息提示
请填处理意见