Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2009-04-19, 19:13   #6
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: 求用MATLAB求解二阶微分方程组的算法

你怎么不给初值条件?
那我就按照系统默认的初值条件给你求了啊。
对于这样的方程组,首先你要转化成一阶方程组,才能用Runge-Kutta法进行迭代求解,不能直接用dsolve命令,那是求解一阶线性方程和方程组的。
我的求解程序如下,希望可以给到你一点帮助。
function dx=myfun01(t,x)
m5=1290; mu=20; c0=150000; k5=100000; kt=200000; xr=0.5*sin(8*t);
dx=[x(2);
-k5/m5*(x(1)-x(3))-c0/m5*(x(2)-x(4));
x(4);
k5/mu*(x(1)-x(3))+c0/mu*(x(2)-x(4))+kt*(x(3)-xr)];

%以上是方程组,保存到当前工作目录下,以下是求解代码。
[t,x]=ode45('myfun01',[时间范围],[初值]);
plot(看你自己要画什么类型的图,所有的数据都在向量x里)
__________________
坚持就是胜利,努力就有奇迹。
laosam280 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 15:53


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.