matlab 解微分方程组
发布网友
发布时间:2022-03-25 19:58
我来回答
共2个回答
热心网友
时间:2022-03-25 21:28
解微分方程啊,这是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)];
热心网友
时间:2022-03-25 22:46
告诉我邮箱,发你代码