阅读 99

matlab温度平流计算函数

function [sstadv] = Tadv(sst,u10,v10,lat,lon)

% 计算温度平流

%  输入,海温,10米u,v风速 水平温度平流计算公式为 -(udt/dx+vdt/dy)

m=size(sst);

[X,Y] = meshgrid(lat,lon);

for t=1:m(3)

    tt=sst(:,:,t);

    u=u10(:,:,t);

    v=v10(:,:,t);

    dtx = cdiff(tt,1); %359*180

    dty = cdiff(tt,2); %360*179

    dx = cdiff(Y,1)*pi/180;

    dy = cdiff(X,2)*pi/180;

    sstadv(:,:,t)=-1*((u.*dtx)./(cos(X*pi/180).*dx) + v.*dty./dy)./6.371e6;

end


function [yy] = cdiff(x,dim)

%UNTITLED3 中央差分

%  x(m,n)输入一个二维数组

s=size(x);

yy=nan(s(1),s(2));

if dim==1

    x1=x(1:end-2,:);

    x2=x(3:end,:);

    y=x2-x1;

    yy(2:end-1,:)=y;

else if dim==2

        x1=x(:,1:end-2);

    x2=x(:,3:end);

    y=x2-x1;

    yy(:,2:end-1)=y;

    end

end

end

作者:jianbida

原文链接:https://www.jianshu.com/p/62bbd932aca3

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐