爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5941|回复: 1

[讨论] [MATLAB]月平均气温计算年平均气温

[复制链接]
回帖奖励 3 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次
发表于 2016-9-6 20:15:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 menglhl 于 2016-9-6 20:17 编辑

原始nc文件是1900-2014年全球每月的平均气温数据,想得到近55年(1960-2014)的全球年平均气温,运行以下代码可以得到正确的ans,但是最后yav这个workspace里的数据只有0和-9.9692,不知道是哪里有问题,求各位大神指导一下
还有就是时间变量这么读取可以么?(原始文件中时间变量单位是hours since 1900-1-1 0:0:0)
  1. lat=ncread('air.mon.mean.v401.nc','lat');
  2. lon=ncread('air.mon.mean.v401.nc','lon');
  3. time=ncread('air.mon.mean.v401.nc','time',1,55,12);
  4. temp=ncread('air.mon.mean.v401.nc','air',[1,1,721],[720,360,660]);
  5. yav=zeros(720,360,55);
  6. ytemp=zeros(720,360);
  7. num_1=0;
  8. nonan=0;
  9. for i=1:720
  10.         for j=1:360
  11.                 for k=1:660
  12.                         if(temp(i,j,k)~=-9.969209968386869e+36)
  13.                                 nonan=nonan+1;                                      
  14.                                 ytemp(i,j)=ytemp(i,j)+ temp(i,j,k);
  15.             end
  16.             if(mod(k,12)==0)            
  17.                                 num_1=num_1+1;
  18.                 if(nonan~=0)
  19.                     yav(i,j,num_1)=ytemp(i,j)/nonan;
  20.                                 else
  21.                                         yav(i,j,num_1)=-9.969209968386869e+36;
  22.                 end
  23.                 nonan=0;
  24.                                 ytemp(i,j)=0;        
  25.             end                                
  26.         end     
  27.                 num_1=0;
  28.     end
  29. end
复制代码


密码修改失败请联系微信:mofangbao
发表于 2018-6-27 20:58:33 | 显示全部楼层

回帖奖励 +1 金钱

请问,此问题解决了吗?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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