爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: lee309

NCL脚本中怎么加入分段函数公式

[复制链接]
发表于 2014-12-13 21:54:38 | 显示全部楼层
本帖最后由 longlivehj 于 2014-12-13 21:57 编辑
lee309 发表于 2014-12-13 10:04
请版主大人帮忙写下怎么用where写我的四段函数吧,这个问题怎么都解决不了。谢谢!

gama = R
gama = where(R .le. -3.75, 0.05, gama)
gama = where(R .le. -0.12 .and. R .gt. -3.75, 0.065 + 0.004 * R, gama)
gama = where(R .le. 0.14 .and. R .gt. -0.12, 0.109 + 0.367 * R, gama)
gama = where(R .gt. 0.14, 0.155 + 0.021 * R, gama)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-12-13 21:58:31 | 显示全部楼层
脚本中的R为格点数据,不是一个标量
(41,31)        -0.087815
(41,32)        -0.08835597
(41,33)        -0.08903541
(41,34)        -0.09113897
(41,35)        -0.09109438
(41,36)        -0.093316
(41,37)        -0.09435109
(41,38)        -0.09539092
(41,39)        -0.0966844
(41,40)        -0.09728384
(41,41)        -0.09863391
难道if语句不允许出现这样的数据么,哪位可以指点下?
密码修改失败请联系微信:mofangbao
发表于 2014-12-13 22:03:22 | 显示全部楼层
lee309 发表于 2014-12-13 21:58
脚本中的R为格点数据,不是一个标量
(41,31)        -0.087815
(41,32)        -0.08835597

http://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclStatements.shtml#If

if(scalar_logical_expression) then
        statement list
end if
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-12-13 22:08:16 | 显示全部楼层
longlivehj 发表于 2014-12-13 21:54
gama = R
gama = where(R .le. -3.75, 0.05, gama)
gama = where(R .le. -0.12 .and. R .gt. -3.75, 0. ...

谢谢版主,已经成功了,以后多多指点
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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