爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5111|回复: 11

[程序设计] 不知哪一步错了,请大神们帮我看看

[复制链接]

新浪微博达人勋

发表于 2018-2-7 14:52:29 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 小王子殿下 于 2018-2-7 15:12 编辑

for i=1:1:180
     lat=90.5-i;
     for j=1:1:360
         lon=180.5-j;
         for z=1:1:13350
             if CO(z,606)==lat && CO(z,607)==lon
                 for x=1:1:605
                     C(i,j,x)=CO(z,x);
                 end
             else
                 for x=1:1:605
                     C(i,j,x)=NaN;
                 end
             end
         end
     end
end


CO是一个13350*607的数组,606和607行是它的经纬度信息,前605行是这个经纬度点的时间序列,然后我建立一个180*360的循环,如果是这个经纬度就把值赋给它,如果不在数据里就设为NaN,希望建立一个180*360*605的。
但是我这段程序运行完之后,最后的结果全是NaN,不知道哪里出了问题,麻烦大神们帮我看看哪里出了问题。


CO

CO
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-7 14:54:09 | 显示全部楼层
很不错的东西,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 32430
发表于 2018-2-7 21:24:32 | 显示全部楼层
为什么没有结果的截图?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-8 09:25:31 | 显示全部楼层
不是很懂Fortran编程,不过你这个lat和lon不是浮点型吗,浮点型能==这么比较吗?C里面是不能这么比的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-9 10:53:34 | 显示全部楼层
很不错,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-24 17:27:17 | 显示全部楼层
不是很明白为什么要转换成3维的嘞
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-24 20:53:32 | 显示全部楼层
CO(z,606)==lat && CO(z,607)==lon
有可能是数据中没有数据符合这个条件。小数位数的原因,你试试CO(1,606)==-54.4,看返回的是1还是0
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-2-25 11:45:49 | 显示全部楼层
转置一下试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-5 16:22:11 | 显示全部楼层
二爷名声在外 发表于 2018-2-7 21:24
为什么没有结果的截图?

结果就是180*360*605全部都是nan,我就比如说查看C(:,:,5),就全是NaN,按照道理来说应该有的点上是有值的呀
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-3-5 16:23:05 | 显示全部楼层
Adam-Lee 发表于 2018-2-24 17:27
不是很明白为什么要转换成3维的嘞

就是转换成180*360然后再乘时间,这样的话就对应每个经纬度,方便后续的处理
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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