当前位置:文档之家› MATLAB微分方程几种求解方法及程序.doc

MATLAB微分方程几种求解方法及程序.doc

第五章控制系统仿真§5.2 微分方程求解方法

以一个自由振动系统实例为例进行讨论。

如下图1所示弹簧-阻尼系统,参数如下:

M=5 kg, b=1 N.s/m, k=2 N/m,

F=1N

x b

M F

k

图1 弹簧-阻尼系统

假设初始条件为:00?t时,将m拉向右方,忽略小车的摩擦阻力,mx0)0(? smx/0)0(??求系统的响应。

)用常微分方程的数值求解函数求解包括ode45、ode23、ode113、ode15s、

ode23s等。

wffc1.m myfun1.m

一、常微分方程的数值求解函数ode45求解

解:系统方程为Fkxxbxm??????

这是一个单变量二阶常微分方程。

将上式写成一个一阶方程组的形式,这是函数ode45调用规定的格式。

令:xx?)1((位移)

)1()2(????xxx(速度)

上式可表示成:

??????????????????????????)1(*20)2(*101)2()2()2( )1(xxxxxxx??

下面就可以进行程序的编制。

%写出函数文件myfun1.m function xdot=myfun1(t,x)

xdot=[x(2);1-10*x(2)-20*x(1)]; % 主程序wffc1.m t=[0 30];

x0=[0;0];

[tt,xx]=ode45(@myfun1,t,x0);

plot(tt,yy(:,1),':b',tt,yy(:,2),'-r') legend('位移','速度')

title('微分方程的解 x(t)')

相关主题
文本预览
相关文档 最新文档