基于matlab的舰船横摇、纵摇仿真程序.doc
%%%%%船舶设计参数.
L=56.5; %船长L(m)
B=10.4; %船宽B(m)
d=3.1; %吃水d(m)
D=1323.2; %排水D(m)
Cw=0.686; %设计水线面积系数
Cb=0.559; %方形系数
%%%%%船舶横摇参数.
g=9.8; %重力加速度g
c=0.35; %计算横摇惯性半径系数
Lou=c*B; %横摇惯性半径(m)
Jt=D/g*Lou^2; %横摇总转动惯量Jθ+△Jθ
dJt=0.25*Jt; %横摇附加转动惯量 △Jθ(kg*m*s^2)
h=0.94; %横稳性中心高 h(m)
wt=(D*h/Jt)^1/2; %横摇固有角频率ωθ
mt=0.16/2; %横摇阻尼因子μθ
节选段落一:
%横摇总转动惯量Jθ+△Jθ
dJt=0.25*Jt; %横摇附加转动惯量 △Jθ(kg*m*s^2)
h=0.94; %横稳性中心高 h(m)
wt=(D*h/Jt)^1/2; %横摇固有角频率ωθ
mt=0.16/2; %横摇阻尼因子μθ
%%%%%船舶纵摇参数.节选段落二:
MaxT=MinT+600; %仿真采样的最大时间
t=MinT:0.2:MaxT; %时间t(s)
at=0; %横摇波倾角
af=0; %纵摇波倾角
for i=1:28
e(i)=rand; %产生随机数εi
at=at+(Sadw(i)*(cos(we(i)*t+e(i))))*sin(beta);
af=af+(Sadw(i)*(cos(we(i)*t+e(i))))*cos(beta);
end
%%%%%船舶横摇模型求解.节选段落三:
%%%%%船舶纵摇模型
a1f=2*mf*wf;
a2f=wf^2;
b0f=wf^2*dJf/(D*H);
b1f=a1f*(1-b0f);
b2f=wf^2-a1f^2*(1-b0f)-wf^2*b0f;
AAf=[0 1;-a2f -a1f];
BBf=[b1f;b2f];
CCf=[1 0];
DDf=b0f;
[Yf,Xf]=lsim(AAf,BBf,CCf,DDf,af,t);%得到船舶摇荡的纵摇角信号
%%%%%船舶横摇角.纵摇角仿真曲线
figure(1)
plot(t,Yt,'-r',t,0)
xlabel('时间(秒)','FontWeight','bold')
ylabel
%横摇总转动惯量Jθ+△Jθ
dJt=0.25*Jt; %横摇附加转动惯量 △Jθ(kg*m*s^2)
h=0.94; %横稳性中心高 h(m)
wt=(D*h/Jt)^1/2; %横摇固有角频率ωθ
mt=0.16/2; %横摇阻尼因子μθ
%%%%%船舶纵摇参数.节选段落二:
MaxT=MinT+600; %仿真采样的最大时间
t=MinT:0.2:MaxT; %时间t(s)
at=0; %横摇波倾角
af=0; %纵摇波倾角
for i=1:28
e(i)=rand; %产生随机数εi
at=at+(Sadw(i)*(cos(we(i)*t+e(i))))*sin(beta);
af=af+(Sadw(i)*(cos(we(i)*t+e(i))))*cos(beta);
end
%%%%%船舶横摇模型求解.节选段落三:
%%%%%船舶纵摇模型
a1f=2*mf*wf;
a2f=wf^2;
b0f=wf^2*dJf/(D*H);
b1f=a1f*(1-b0f);
b2f=wf^2-a1f^2*(1-b0f)-wf^2*b0f;
AAf=[0 1;-a2f -a1f];
BBf=[b1f;b2f];
CCf=[1 0];
DDf=b0f;
[Yf,Xf]=lsim(AAf,BBf,CCf,DDf,af,t);%得到船舶摇荡的纵摇角信号
%%%%%船舶横摇角.纵摇角仿真曲线
figure(1)
plot(t,Yt,'-r',t,0)
xlabel('时间(秒)','FontWeight','bold')
ylabel