[波動モデリング1]海洋波動モデリングの理論解析とMatlabシミュレーション

1.ソフトウェアバージョン

matlab2017b

2.システム原理

       波動モデリングの設計には、主に波動モデルの決定、波動のさまざまなパラメータの計算などが含まれます。このシステムは、

波のモデルは次のとおりです。

       実際には、波動モデルには多くの種類がありますが、このモデルは、主にこのモデルの効果が、提供したWebサイトでの効果に最も近いためにここで使用されます。

 Gは重力の加速度であり、定数9.8を取ります

3.コアソースコード

global Winds;   %风速
global g; %重力加速度
global kk; %仿真模型沙盘和实际区域的大小比例
global Xmax;
global Ymax;
global Dxy;
global flag;
global VX;
global VY;
global VZ;


flag = 0;

g    = 9.8; %重力加速度
kk   = 1/40; %仿真模型沙盘和实际区域的大小比例
%仿真的间隔
Dxy  = 4;


%仿真覆盖的海域范围
Xmax = 1000;
Ymax = 1000;

Start  = 200;
x      = [Start:Dxy:Xmax];
Ymax2  = round(Ymax/2);
y      = [Start:Dxy:Ymax2];
[xo,yo]= meshgrid(x,y);
z2     = zeros(size(x));

%海浪自身运动的波高
r = (3.5325*Winds^2.5)/1000;

%海浪自身运动的波长
k = 2*g/(3*Winds^2);
L = 2*pi/k;

%周期T
T = sqrt(2*pi*L/g);

%波频率
w = sqrt(2/3)*g/T;
t = 0;

while(flag == 0)
    disp('the wind speed is');Winds
    t = t + 1;
    for i = 1:(Ymax2-Start)/Dxy+1
        for j = 1:(Xmax-Start)/Dxy+1
            %衰减系数
            d             = sqrt((xo(1,j)-0)^2 + (yo(1,j)-0)^2);
            alphas        = exp(-0.07*d) - 0.18; 
            z2(i,j)       = alphas*r*cos(k*sqrt((xo(1,j)-0)^2 + (yo(1,j)-0)^2) - w*t);
        end
    end
    %显示局部效果
    axes(handles.axes1);
    surfl(xo,yo,z2);
    axis([Start-50 Xmax+50 Start-50 Ymax2+50 -8 10]);
    shading interp;
    colormap([143/255,157/255,203/255]);
    alpha(0.75);
    lightangle(-30,90);
    
    view([VX,VY,VZ]);
    
    
    pause(0.1);    
    
    
    %海浪自身运动的波长
    k = 2*g/(3*Winds^2);
    Ls = 2*pi/k;
    set(handles.edit1,'String',num2str(Ls));
    
    
    %计算得到海浪的参数指标
    %海浪自身运动的波高
    rs = (3.5325*Winds^2.5)/1000;
    set(handles.edit3,'String',num2str(rs));
    

    %周期T
    T = sqrt(2*pi*L/g);
    %速度
    c = g*T/(2*pi); 
    set(handles.edit4,'String',num2str(c)); 
    
    %波频率
    w = sqrt(2/3)*g/T;    
    set(handles.edit5,'String',num2str(w/2/pi));
    
end

4.テスト結果

シミュレーション操作は上の図に示されています。

最初に[開始]をクリックして波の効果のシミュレーションを開始し、次に[停止]をクリックして一時停止します。

上の図3のラベルは、風速を調整するためのWebサイトの対応するボタンです。

図4に波のパラメータを示します。特定のパラメータの計算については、前のページの理論的な紹介を参照してください。

5これが3D効果の表示です。さまざまな角度から波を観察できます(MATLABのGUIのAXISはマウスを直接使用して3D表示を回転させることはできないため、この関数を使用して表示する必要があります)

A19-06

おすすめ

転載: blog.csdn.net/ccsss22/article/details/125610685