matlab建模如下:
clear;clc;
function F=PM1(omega)
u1=5;u2=10;g = 9.81;alpha = 8.1*10^(-3);beta = 0.74;
F=(alpha.*g.^2./omega.^5).*exp(-beta.*(g./omega./u1).^4);
end
function G=PM2(omega)
u1=5;u2=10;g=9.81;alpha = 8.1*10^(-3);beta = 0.74;
G=(alpha.*g.^2./omega.^5).*exp(-beta.*(g./omega./u2).^4);%定义PM海谱函数
end
omega=linspace(0.1,4,1000);%线性间距向量,范围为0.1到4,离散点数为10000
delta_omega=3.9/1000;
phi=rand(1,1000)*2*pi;%生成随机相位
H1 = zeros(1,100);%生成1行100列的填充值为0的数组
H2 = zeros(1,100);
x=linspace(0,200,100);
for i = 1:1000
H1 = H1+sqrt(4*PM1(omega(i))*delta_omega)*cos(omega(i).^2./9.81.*x-omega(i)+phi(i));
H2 = H2+sqrt(4*PM2(omega(i))*delta_omega)*cos(omega(i)^2/9.81.*x-omega(i)+phi(i));
end
plot(x, H1,x,H2);
xlabel('x/m');
ylabel('h(x,1)');
如有问题欢迎指正