matlab 解微分方程组

超级新手,不会用Matlab。帮我解一下,下面的微分方程组:

e(t)+s(t)+q(t)+r(t)+i(t)=1;

d e(t)/dt=3i(t)-0.2*e(t);
d s(t)/dt=-10*i(t);
d q(t)/dt=0.2*e(t)-0.5*q(t);

d r(t)/dt=0.5*q(t);
d i(t)/dt=7i(t);

要函数,能做图,谢谢了!如果好的话,分还有!

第1个回答  2013-08-07
解微分方程啊,这是matlab的一大功能啊,这里不好全讲,你最好看下书。这里讲下注意问题
你要解析结果,还要图像!
其实只有少数的微分方程有解析解,而且一些方程的解析解很难求得。matlab中有dsolve可求微分方程的解析解,但大多数微分方程要通过ode45,ode23(龙格库塔算法)等命令求解数值解。
首先你可参见help或者相关书籍将你的方程以函数文件(也可以写成隐函数)写成标准形式。
下面根据调用的命令填写函数句柄值:方程(@。。。),这里要解决常微分方程的初值问题,你要赋一个初值,填写精度,自变量范围等
下面运行ode45,ode23等命令就可以得到数值解了,这里要注意你得到一个矩阵,这个矩阵把每个要求的变量(从一阶到最高阶按列排布)按列排布,这和你写方程的顺序有关啊,可以参见学长给我的指导:http://zhidao.baidu.com/question/510834501.html?quesup2&oldq=1
通过矩阵元素名你就可以操作这数值解了,最简单的就是用plot命令组将你想要的结果输出为图像形式。
这是plot的help解析,讲的不错,可以看看。http://hi.baidu.com/464865331/item/e1a0b2df8606b51cd68ed0bf
一段时间没研究matlab了,可能存在错误,请谅解。追问

能帮忙改一下么!学长
function xp = xpcc(t,x)
%E=x(1) S=x(2) Q=x(3)R=x(4) I=x(5);
xp=[x(1)+x(2)+x(3)+x(4)+x(5)=1;3*x(5)-0.2*x(1);-10*x(5);0.2*x(1)-1/60*x(3);1/60*x(3);7x(5)];

第2个回答  2013-08-16
告诉我邮箱,发你代码本回答被提问者采纳