- 积分
- 2180
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-12-26
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前用IDL编的都是小型的程序,可以不管IDL对数组的存储形式及操作,但是最近编的程序比较复杂了,关于数组的存储形式就不得不考虑了,现在以本人程序中的一个两维数组为例,谈谈自己的体会,并希望和各位分享:
我要处理n=4500多条探空廓线,每条廓线中的温度T共有400层,当需要逐条廓线计算温度直减率时,问题就来了,关于T的数组应该是T[400,4500]呢,还是T[4500,400]?
由于IDL中,数组的第一维是列,第二维是行,并且数组是按列存储的,这样应该取第一种数组形式,即T[400,4500],一方面,此时对每条廓线而言,400层的温度数据被连续存储,计算温度直减率的过程中可以连续读取,节约计算时间;另一方面,如将数组T[400,4500]保存成txt或者dat文件后,打开文件,第一段就是第一条廓线的所有温度值,这也给检查所读(或者计算得)温度是否符合常理带来了方便!
PS:以前知道数组如果处理巧妙,可以节约很多资源,但是一直没有体会到,同坐最近的编程,才深刻的体会到,在编程计算中,数组并不是那么简单,如果处理的好,可以大大的节约计算机资源,缩短计算时间!
上面只是我的一点心得体会,希望和大家交流~ |
评分
-
查看全部评分
|