|
帮忙看看我的这个程序行吗?楼主和各位高手们,怎么运行下来就要几个小时啊?
function dx=sdzz1(t,x)
dx=zeros(14,1)
%参数设置
m1=4
m2=32.1
m3=50
R=25
L=12
c=0.11
miu=0.018
c1=1050
c2=2100
omiga=25
k=2.5*10^7
dalta1=0.01
ks1=7.5*10^7
ks2=2.5*10^9
cs1=350
cs2=500
if x(10)>dalta1
ks=ks1
cs=cs1
elseif (x(10)>=0)&(x(10)<=dalta1 )
ks=0
cs=0
else
ks=ks2
cs=cs2
end
b=0.02
P=m2/2
delta=((miu*omiga*R*L)/P)*(R/c)^2*((L/2*R)^2)
pi=3.14159
%无量纲化
epus1=c1/(m1*omiga)
epus3=c1/(m1*omiga)
epus2=c2/(m2*omiga)
epus4=cs/(m3*omiga)
eta1=k/(m1*omiga^2)
eta3=k/(m1*omiga^2)
eta2=k/(m2*omiga^2)
eta4=ks/(m3*omiga^2)
M1=(m1*c*omiga^2)/(delta*P)
M3=(m1*c*omiga^2)/(delta*P)
M4=(m3*c*omiga^2)/(delta*P)
g=9.8;
G=g/(omiga^2)
%微分方程组程序
dx(1)=x(4)
dx(2)=x(5)
dx(3)=x(6)
%dy(1)=x(11)%y(5)
dx(7)=x(11)
%dy(2)=x(12)%y(6)
dx(8)=x(12)
%dy(3)=x(13)%y(7)
dx(9)=x(13)
%dy(4)=x(14)%y(8)
dx(10)=x(14)
%油膜力x,y方向的分量表达式
[fx1,fy1]=youmoli(x(1),x(7),dx(1),dx(7))
[fx2,fy2]=youmoli(x(3),x(9)-x(10),dx(3),dx(9)-dx(10))
%继续
dx(4)=-epus1*x(4)-eta1*(x(1)-x(2))+1/M1*fx1
dx(11)=-epus1*x(11)-eta1*(x(7)-x(8))+1/M1*fy1
dx(5)=-epus2*x(5)-eta2*(2*x(2)-x(1)-x(3))+b*cos(omiga*t)
dx(12)=-epus2*x(12)-eta2*(x(8)-x(7)-x(9))+b*sin(omiga*t)-G
dx(6)=-epus3*x(6)-eta3*(x(3)-x(2))+1/M3*fx2
dx(13)=-epus3*x(13)-eta3*(x(9)-x(8))+1/M3*fy2-G
dx(14)=-epus4*x(14)-eta4*x(10)-1/M4*fy2-G |
|