meatball1982 发表于 2018-2-12 09:52:38

豆粑粑 生成海浪数据

今天,回答别人的问题。是生成海浪的。看着,可是真亲切啊。
想想那时,为了一个程序,能折腾半个月。机器,也不行。水平也不行。

clear all
clc


pinpushu=20;
fengji=7;
jiaodushu=360;

wavewmin = ;
wavewmax = ;
wavewp=;

%-----------------------------------------------------
u=;
%---------------------------------------------------

if fengji>8
    fengji=8;
end
if fengji<1
    fengji=1;
end
fi=fengji;
wmin=wavewmin(fi);
wmax=wavewmax(fi);
wp=wavewp(fi);
ui=u(fi);
M=pinpushu;
N=jiaodushu;
wavewn=(wmax-wmin)/M;
thetawn=pi/N;
dx=1;
dy=1;
x=;
y=;
=meshgrid(x,y);
z=zeros(size(x));

for wi=1:M
    for ki=1:N
      theta=-pi/2+(ki-1)*thetawn;
      epsin=rand*2*pi;
      w=wmin+(wi-1)*wavewn+wavewn/2;
      swi=0.81*exp(-7400/(w*ui+epsin).^4)*2*(cos(theta)).^2/(pi*(w.^5+epsin));
%         swi=0.81*exp(-7400/(w*ui).^4)*2*(cos(theta)).^2/(pi*(w.^5));
      
      if swi > 100*eps
%             M
%             N
            an=sqrt(abs(2*swi*wavewn*theta));
            %            an=1;
            z1=w*w*x*cos(theta)/9.8+w*w*y*sin(theta)/9.8+epsin;
            z=an*cos(z1)+z;
      end
    end
end

surf(x,y,z);
shading interp;%shading interp 会区分每个线形区域的颜色,并且插入与其相近的颜色
lightangle(-45,30);
set(findobj(gca,'type','surface'),'FaceLighting','phong','AmbientStrength',.3,'DiffuseStrength',.8,...
    'SpecularStrength',.9,'SpecularExponent',200)

h=gcf;
fig_na=['./fig_wave'];
% fun_work_li_035_myfig_out(h,fig_na,3);




页: [1]
查看完整版本: 豆粑粑 生成海浪数据