各位有空了帮我看看这个程序编的对不对
1.rar
(40.73 KB)
[attach]71078[/attach]function dx=suc(t,x)%x1=xs,x2=dx1,x3=xu,x4=dx3,x5=t
ms=200;
ks=30000;
mu=40;
Fm=0;
kt=181000;
c0=1000;
B=100;
h=2;
FM=Fm*(1-exp(-B*(x(2)-x(4)))/(1+exp(-B*(x(2)-x(4)))));
xr=0.01*sin(2*pi*h*t);
%xr=0.03;
dx=[
x(2)
-ms^(-1)*(ks*(x(1)-x(3))+c0*(x(2)-x(4))+FM)
x(4)
mu^(-1)*(ks*(x(1)-x(3))+c0*(x(2)-x(4))+FM-kt*(x(3)-xr))
];
x0=[0,0,0,0];
options=odeset('reltol',1e-8);
tic
[t,y]=ode45(@suc,[0:0.01:10],x0,options);
toc
plot(t,y(:,1))
A=y(:,1);
B=max(A(500:1000))
title('二自由度的数值解')
xlabel('时间 t')
ylabel('车身位移x')
grid on
hold on
[ 本帖最后由 matlab777 于 2013-5-23 17:00 编辑 ]