爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3397|回复: 3

[程序设计] 请教大神关于内波的垂直模态方程的数值求解?

[复制链接]
回帖奖励 5 金钱 回复本帖可获得 5 金钱奖励! 每人限 1 次

新浪微博达人勋

发表于 2016-1-6 10:39:18 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
clc
clear all
close all
m=201;%分层的个数,m*dz=H
H=1000;
pi=3.1415926;
N0=5.23e-3;
w=zeros(m);%垂直速度
N=zeros(m);%浮力频率
z=zeros(m-2);
f=0.0001;%科氏参量
kx=0.01;
ky=0.01;
% kx=0.01;
%ky=0.01;
dz=H/(m-1);
l=dz^2*(kx^2+ky^2);
A=zeros(m-2,m-2);
B=zeros(m-2,m-2);
C=zeros(m-2,m-2);
for i=1:m-2
   z(i)=-i*dz;
end

%N赋值
% z ≤-200m式中N(-200)一般可取为5.23×10-3秒,
%G.加勒特和W.H.蒙克在1972年发表的研究结果,在大洋中,除了高纬度海区、赤道海区和西部边界流海区外,
%上混合层以下的N(z)分布可表示为
%N(200)=5.23*10^(-3);
%考虑跃层-300m左右,取为1×10-2秒
for i=1:m-2
N(i+1)=0.01*gaussmf(-z(i)+1,[100,300])+0.005;
end
%for i=1:m
  %  N(i)=5.23e-3;
%end

% A*v=lambda*B*v
for i=1:m-2
    if i~=1&&i~=m-2
    A(i,i)=2+l*N(i+1)^2/(f*f);
    A(i,i+1)=-1;
    A(i,i-1)=-1;
    end
     if i==1
    A(i,i)=2+l*N(i+1)^2/(f*f);
    A(i,i+1)=-1;
     end
     if i==m-2
    A(i,i)=2+l*N(i+1)^2/(f*f);
    A(i,i-1)=-1;
    end
   
end
%B赋值
for i=1:m-2
    %i+2 i+1 i
     if i~=1&&i~=m-2
    B(i,i)=2+l;
    B(i,i+1)=-1;
    B(i,i-1)=-1;
    end
     if i==1
    B(i,i)=2+l;
    B(i,i+1)=-1;
     end
     if i==m-2
    B(i,i)=2+l;
    B(i,i-1)=-1;
    end
end
% A=B.*inv(C);
%
[Wv,D] = eig(A,B,'qz');
%
% % [Wv,D] = eigs(A,B,m-2);
% [Wv,D] = eig(full(A),full(B),'qz');
subplot(2,2,1 )
plot(Wv(:,1)',z)%第一模态
set(gca,'xlim',[-1,1]);
title('第一模态')
t=sqrt(D(1,1)*f*f)
% xlabel(num2str(D(1,1)))
xlabel(num2str(t))
ylabel('deepth')
subplot(2,2,2)
plot(Wv(:,2)',z)%第二模态
set(gca,'xlim',[-1,1]);
title('第二模态')
t=sqrt(D(2,2)*f*f)
xlabel(num2str(t))
% xlabel(num2str(D(2,2)))
ylabel('deepth')
subplot(2,2,3)
plot(Wv(:,3)',z)%第二模态
title('第三模态')
t=sqrt(D(3,3)*f*f)
xlabel(num2str(t))
% xlabel(num2str(D(3,3)))
ylabel('deepth')
subplot(2,2,4)
plot(N(2:m-1),z)
xlabel('N(z)')
set(gca,'xlim',[0,0.02]);
hold off;

以上是matlab程序,eig函数求解广义特征值和特征向量,作图时发现每隔一层模态就反向一次,如图:(图1 m=201也就是200层,图2为201层)

图片1.png
图片2.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-6 14:24:27 | 显示全部楼层

回帖奖励 +5 金钱

不太懂,默默帮顶~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-3 16:49:34 | 显示全部楼层

回帖奖励 +5 金钱


不懂,默默帮顶~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-15 17:45:16 | 显示全部楼层

回帖奖励 +5 金钱

最近也在做这个遇到了一点类似问题,请问LZ问题解决了嘛
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表