爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6677|回复: 21

做eof时碰到了一个很让我困惑的问题!求解答!

[复制链接]

新浪微博达人勋

发表于 2014-11-24 14:36:29 | 显示全部楼层 |阅读模式

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

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

x
我在做eof分析时,用了几个不同版本的程序,fortran、matlab和论坛里发过的一个“一键eof”软件,但是得出的结果,仅有一个fortran程序是正常的,另一个fortran程序、matlab以及一键eof程序的结果都不对,时间序列图是那种类似正弦曲线,如图。我想请教一下这到底是什么原因?是我读入数据错误还是怎样?这个问题我困惑了很久,希望大家帮我解答,谢谢!



这是有问题的时间序列,而且不同程序都得到这个结果

这是有问题的时间序列,而且不同程序都得到这个结果

这是其中一个结果正确的fortran程序

这是其中一个结果正确的fortran程序
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-11-24 15:05:33 | 显示全部楼层
奔波尔灞 发表于 2014-11-24 15:04
哎哟 又加了一块钱 哇哈哈 拿着一条还会不会再加呢

你这么回复很容易被禁止访问的!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-11-24 15:13:55 | 显示全部楼层
奔波尔灞 发表于 2014-11-24 15:06
什么  禁止访问??这么严重?

清空你的所有帖子和积分。并且禁止访问论坛一周或者一个月!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-24 15:23:19 | 显示全部楼层
奔波尔灞 发表于 2014-11-24 15:03
老二 我不会 我只是来水回复 拿点奖金什么的 不要打我

小花,你就这样硬生生的把帖子顶到了第一的位置...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-24 15:24:36 | 显示全部楼层
言深深 发表于 2014-11-24 15:05
你这么回复很容易被禁止访问的!

深深大神求别封,自家小孩儿没管好...
话说我遇到的这个问题是为什么呢?求解答
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-11-24 15:38:02 | 显示全部楼层
泰达巴神 发表于 2014-11-24 15:24
深深大神求别封,自家小孩儿没管好...
话说我遇到的这个问题是为什么呢?求解答

得出来是正弦曲线,显然是有问题的。
至于fortran做的对不对,还要看你程序的读写是否合乎规范。即程序有没有用对。

建议你对matlab,“一键eof”都检查一下输入输出。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-24 15:43:40 | 显示全部楼层
X = dlmread('D:\finalcca\sa\ea\easa.txt');
[m,n]=size(X); %求空间点数和时间
[VR,DR] = eigs(X'*X/n);  %计算特征值和特征向量
   DR = diag(DR); %特征值
   DR = DR(:); %特征值
   VN = X*VR; %时空转换
   T  = VN'*X; %时间序列
   VN = VN.*repmat(sqrt(DL'),m,1); %特征向量标准化
   T  = T./repmat(sqrt(DL),1,n);  %时间序列标准化
   D100  = DR*100./trace(X*X'/n); %方差贡献率

这是我的matlab程序,用的资料是(61*29,53)
程序不长
请问你能否帮我看一下?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-11-24 15:47:53 | 显示全部楼层
言深深 发表于 2014-11-24 15:38
得出来是正弦曲线,显然是有问题的。
至于fortran做的对不对,还要看你程序的读写是否合乎规范。即程序 ...


X = dlmread('D:\finalcca\sa\ea\easa.txt');
[m,n]=size(X); %求空间点数和时间
[VR,DR] = eigs(X'*X/n);  %计算特征值和特征向量
   DR = diag(DR); %特征值
   DR = DR(:); %特征值
   VN = X*VR; %时空转换
   T  = VN'*X; %时间序列
   VN = VN.*repmat(sqrt(DN'),m,1); %特征向量标准化
   T  = T./repmat(sqrt(DN),1,n);  %时间序列标准化
   D100  = DR*100./trace(X*X'/n); %方差贡献率

这是我的matlab程序,用的资料是(61*29,53)
程序不长
请问你能否帮我看一下?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-24 18:33:21 | 显示全部楼层
正弦的这个应该是不对的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-24 18:52:55 | 显示全部楼层
奔波尔灞 发表于 2014-11-24 15:05
马萨卡 好多钱啊 受不了了

深深说的对,确实如此的!!要是好多人都水回复,信息都不能得到有效交流,久而久之,你还会再来论坛吗?~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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