爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: Aires

[源程序] 分享一个自己编写的SVD函数

  [复制链接]

新浪微博达人勋

 楼主| 发表于 2017-8-9 23:29:40 | 显示全部楼层
雅凝馨子 发表于 2017-8-9 22:27
想请教楼主,那个相关系数的等值线图是怎么绘制的呀,最近一直被这困扰。。。。

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

新浪微博达人勋

发表于 2017-8-11 09:51:20 | 显示全部楼层
没有贡献啊啊啊┭┮﹏┭┮
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-11 09:55:13 | 显示全部楼层
楼主能发我一份吗?没有贡献,下不了,一直被困扰。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-11 10:45:57 | 显示全部楼层

我用contour画出来的很奇怪,因为不知道怎么处理那些nan,又是非专业的,一直不成功。想请问下楼主,那些nan值怎么处理呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-8-11 11:28:12 | 显示全部楼层
雅凝馨子 发表于 2017-8-11 10:45
我用contour画出来的很奇怪,因为不知道怎么处理那些nan,又是非专业的,一直不成功。想请问下楼主,那些 ...

去查一下Matlab的书吧。你做SVD之前可以用isnan函数把不是NaN(即有效的数据)挑出来再做SVD。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-11 11:33:03 | 显示全部楼层
Aires 发表于 2017-8-11 11:28
去查一下Matlab的书吧。你做SVD之前可以用isnan函数把不是NaN(即有效的数据)挑出来再做SVD。

用了isnan函数,剔除后,不知道怎么重组数组,用reshape的话,会把原来的经纬度和对应的数据顺序都弄乱呀。
另外有个疑问,想问下老师,海温场,降水场都是三维的,我看论坛里很多svd程序都是二维的场,请问三维是怎么变成二维的呢?假设是180*89*12,直接用reshape变成16020*12吗?这样的话,顺序不是都乱了吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-8-11 11:44:57 | 显示全部楼层
雅凝馨子 发表于 2017-8-11 11:33
用了isnan函数,剔除后,不知道怎么重组数组,用reshape的话,会把原来的经纬度和对应的数据顺序都弄乱呀 ...

SVD或者EOF本身就是找一个场的主模态。你用reshape将[lon lat time]的场变换为[lon*lat time],才能对二维的矩阵做SVD或EOF,做出来的模态(特征向量)也会是lon*lat,你再用reshape变为[lon lat]就可以了,并没有对数据分析有任何影响。你可以想象原先每个时刻是一个二维场,用reshape只是变为一维场处理了而已,画图时再变为二维矩阵画就是了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-11 12:47:31 | 显示全部楼层
Aires 发表于 2017-8-11 11:44
SVD或者EOF本身就是找一个场的主模态。你用reshape将[lon lat time]的场变换为[lon*lat time],才能对二 ...

我的理解是:假如数据中有一处 sst(12,3,1)=nan, 剔除它后,重组数据,那样sst (36,1)处会有一个非nan的数,这样子,是相当于在该处填补了一个新的数,如果这样的话,就不对吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-8-11 14:05:13 | 显示全部楼层
雅凝馨子 发表于 2017-8-11 12:47
我的理解是:假如数据中有一处 sst(12,3,1)=nan, 剔除它后,重组数据,那样sst (36,1)处会有一个非nan的 ...

你应该reshape成sst(36,1)后再挑出NaN的位置。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-16 21:17:32 | 显示全部楼层
Aires 发表于 2017-8-11 14:05
你应该reshape成sst(36,1)后再挑出NaN的位置。

老师,前几天一直在忙别的事,忘记看回复了。如果重组后再剔除,根据SVD的算法,要求两个矩阵中一个行数和另一个列数相等,两个场的nan不同,重组剔除后,怎么计算呢?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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