- 积分
- 247
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-3-30
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Ariena 于 2019-3-16 20:27 编辑
用ncl计算两个500hPa高度场之间的余弦相似度,一个eof所得平均高度场,另一个共有3203个高度场,分别与平均场进行计算,计算结果发现,3203个场余弦相似度都是1,不知道问题出在哪里,求大神解答。附上计算公式以及ncl脚本。
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/contrib/run_cor.ncl"
begin
diri = "e:/paper/eof/hgt/"
fin1 = addfile(diri+"hgt3-00.nc", "r")
eof_hgt0 = fin1->hgt(:,{10:70},{50:160})
eof_hgt = dim_avg_n_Wrap(eof_hgt0, 0)
diri3 = "e:/data/"
fin4 = addfile(diri3+"all-hgt.nc", "r")
hgt0 = fin4->hgt(:,{10:70},{50:160})
cosr = new((/3203/),"float")
b = sum(eof_hgt(:,:)*eof_hgt(:,:))
print(b)
do k=0,3202
a = sum(eof_hgt(:,:)*hgt0(k,:,:))
c = sum(hgt0(k,:,:)*hgt0(k,:,:))
cosr(k) = a/sqrt(b*c)
end do
print(cosr)
diri4 = "e:/paper/cos/"
asciiwrite(diri4+"cosr.txt", cosr)
end
|
-
余弦相似度公式
|