matlab ode45求解齿轮动力学,ode45求解多自由度动力学方程实例.doc

ode45求解多自由度动力学方程实例

Ode45函数调用形式如下:[T,Y]=ode45(odefun,tspan,y0)相关参数介绍如下:参数名称参数说明odefun用于存放待求解的方程的m文件名,方程必须用y’=f(t,y)的形式存放tspan指定自变量范围的向量,通常用[t0,tf]指定y0函数的边界条件,即y0=y(t0),对于方程组,y0也可以是向量例:若一三自由度多体动力学系统方程如下:

初始条件:

由于方程必须用y’=f(t,y)的形式存放,因此需要对方程组进行降阶处理。令则方程组可化为:

因此建立M函数文件来定义此方程组如下:function dy=func(t,y)dy=zeros(6,1);dy(1)=y(2);dy(2)=0.5*(-3*y(2)+1.5*y(4)-100*y(1)+50*y(3)+2.0*sin(3.754*t)); dy(3)=y(4);dy(4)=0.5*(1.5*y(2)-3*y(4)+1.5*y(6)+50*y(1)-100*y(3)+50*y(5)-2.0*cos(2.2*t));dy(5)=y(6); dy(6)=0.5*(-1.5*y(4)-3*y(6)+50*y(3)-100*y(5)+1.0*sin(2.8*t));end在matlab命令窗口里输入一下命令:y0=[1 1 1 1 1 1];tspan=[0 30];[t,y]=ode45(@func,tspan,y0);figure(1)plot(t,y(:,1),t,y(:,3),t,y(:,5));legend('x1','x2','x3');xlabel('时间(s)','FontSize',10);ylabel('振动位移曲线','FontSize',10);figure(2)plot(t,y(:,2),t,y(:,4),t,y(:,6));legend('v1','v2','v3');xlabel('时间(s)','FontSize',10);ylabel(‘振动速度曲线’,’FontSize’,10);

运行结果:

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值