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);
運行結果:
總結
以上是生活随笔為你收集整理的matlab ode45求解齿轮动力学,ode45求解多自由度动力学方程实例.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ef.extensions mysql_
- 下一篇: eclipse html插件_欲善事先利