用Matlab能解 常微分方程组 吗?我是要计算其数值解

我是要解这样一个运动方程:[M]{y2}+[B]{y1}+[C]{y}={f}其中,y1为y的一阶导数,y2为y的二阶导数。[M],[B],[C]都是6*6矩阵,{y},... 我是要解这样一个运动方程:
[M]{y2}+[B]{y1}+[C]{y}={f}
其中,y1为y的一阶导数,y2为y的二阶导数。[M],[B],[C]都是6*6矩阵,{y},{f},{y1},{y2}都是6*1的向量。
请问,是否可以用ode45计算,怎么做呢?谢谢
展开
爱吃鱼的夏露露
2012-05-07 · TA获得超过213个赞
知道小有建树答主
回答量:143
采纳率:100%
帮助的人:165万
展开全部
大概这样写:
首先先建立2个editor
第一个用来描述方程,建立M文件;第二个用来算方程
第一个editor:%%%%设y(1)=y,y(2)=dy
function dy=fun(t,y)
global M B C f
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=(f-B.*y(2)-C.*y(1)).*(inv(M));
然后点保存,产生M文件
然后第二个editor
global M B C f
M=ones(6,6);B=ones(6,6);C=ones(6,6);f=ones(6,1);
%%%%%输入实际中的M,B,C,f矩阵,这里为简单令全1矩阵了
X0=[0,0];%%%%初值,根据题设要求去填写
fanwei=[-100,100]%%%%%变量的范围,根据题设要求填写
[T,Y]=ode45('fun',fanwei,X0);
figure(1)
plot(T,Y(:,1),'-',Y(:,2),'--')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式