爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: 夏夜

[程序设计] matlab矩阵的一个小问题

[复制链接]
 楼主| 发表于 2014-8-26 22:54:47 | 显示全部楼层
我是柿子 发表于 2014-8-26 21:11
怎么会打乱呢,原来的变量还在那里的呀~  另外设置一个新变量名比如 令temp=sort()   这样你就可以利用新 ...

求实现代码。
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 12:23:13 | 显示全部楼层
不知道你要如何界定异常值。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-27 18:21:48 | 显示全部楼层
我是柿子 发表于 2014-8-27 12:23
不知道你要如何界定异常值。

比如a(i+1)-a(i)<5*a(i)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-8-27 18:25:27 | 显示全部楼层
我是柿子 发表于 2014-8-27 12:23
不知道你要如何界定异常值。

但是连续多个异常就不可以了。。。
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 19:38:58 | 显示全部楼层
夏夜 发表于 2014-8-27 18:25
但是连续多个异常就不可以了。。。

假如你的异常数值都比正常数值大。b=sort(a); c=[]; n=numel(b); for i=1:n;if b(i+1)-b(i)>5*b(i);c=[c;i];end;end;ano=c(1);%这样b(ano)就是b这个一维数组中第一个异常大值,b(ano:n)都是数组a中的异常大值。可以通过find命令找到异常值的位置。
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 19:40:18 | 显示全部楼层
具体的编程思路要根据数据的情况来,或者你可以上网搜一搜剔除异常值的FUNCTION ,祝好运~
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 19:44:30 | 显示全部楼层
find命令是对原数组a用的
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 19:57:21 | 显示全部楼层
夏夜 发表于 2014-8-27 18:25
但是连续多个异常就不可以了。。。

还是七楼说的,这就是个统计问题。
这种数据质控的方法很多,剔除奇异值可以使用标准差,例如你可以设定距平大于两倍标准差的为奇异值,文献好多这些方法呢,好久不用记不清了,楼主搜搜看吧。
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 19:57:36 | 显示全部楼层
我是柿子 发表于 2014-8-27 19:44
find命令是对原数组a用的

你不是忙么......
密码修改失败请联系微信:mofangbao
发表于 2014-8-27 20:39:13 | 显示全部楼层
lqouc 发表于 2014-8-27 19:57
你不是忙么......

我来找东西,顺便帮助别人,停电之前貌似做不完了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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