Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-07-28, 00:50   #1
oushiquan
初级会员
 
注册日期: 2009-07-21
年龄: 42
帖子: 5
声望力: 0
oushiquan 正向着好的方向发展
默认 想用循环依次去掉向量里面的某些元素

想编个程序,找出向量里面最大的值,比较它和各个元素的均值的关系,若大于均值,则去掉...一直循环,这样做是想用格拉布斯准则去掉偏差较大的数据.写了以下程序,但遇到困难,请高手赐教.谢谢.
clear;clc;
A=[11,9,3,4,5]
meanA=mean(A)
[a,b]=size(A)
for i=1:b
[max,Ind]=max(A)
if max>6
A(Ind)=[];
end
end
A
oushiquan 当前离线   回复时引用此帖
旧 2009-07-28, 03:41   #2
silas_xue
高级会员
 
注册日期: 2008-11-01
年龄: 39
帖子: 406
声望力: 26
silas_xue 是一个将要出名的人
默认 回复: 想用循环依次去掉向量里面的某些元素

lz 能否把问题再说的详细一些 大家一同讨论一下
silas_xue 当前离线   回复时引用此帖
旧 2009-07-28, 08:29   #3
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: 想用循环依次去掉向量里面的某些元素

若去掉大于6的数值:
A(A>6)=[]
slgu 当前离线   回复时引用此帖
旧 2009-07-29, 19:21   #4
oushiquan
初级会员
 
注册日期: 2009-07-21
年龄: 42
帖子: 5
声望力: 0
oushiquan 正向着好的方向发展
默认 回复: 想用循环依次去掉向量里面的某些元素

Grubbs方法

适用于检验多组测量值的一致性和剔除多组测量值中的离群均值;
也可用于检验一组测量值的一致性和剔除一组测量值中的离群均值;
可用于10个以上测量值的检验。
具体方法:
1、将个测量值按大小顺序排列;
2、计算出各测量值的平均值 和标准差S;
3、根据下式计算G值:
G=│可疑值-均值│/标准偏差S

4、根据置信水平和测量数(n)查G值表判断若G计算>G表 舍弃该可疑值。 Grubbs法用于可以分析数据的取舍
1、将分析数据(三个或者以上)升序排列
2、计算均知和标准差
3、作统计量:(均值-最小值)/标准差和(最大值-均值)/标准差
4、上述统计量和临界值比较,大于临界值舍弃;小于临界值保留。
一般用于重复实验数据的处理或者适用于不同实验室对同一样品分结果的处理

**********************************************************
不能用A(A>6)=[] 的方法
因为每次只能去掉一个,比如有10个数据,先用这个准则判断偏差最大哪个数,如果要删掉,那就删掉,剩下9个,这9个数,继续用格拉布斯准则,但注意,这里的平均数已经是9个数的平均数而不是之前那10个数的平均,继续用准则判断....直到满足"G计算<G表"的条件为止.
oushiquan 当前离线   回复时引用此帖
旧 2009-07-31, 10:48   #5
oushiquan
初级会员
 
注册日期: 2009-07-21
年龄: 42
帖子: 5
声望力: 0
oushiquan 正向着好的方向发展
默认 回复: 想用循环依次去掉向量里面的某些元素

没有高手会吗?这个问题比较郁闷啊。不能用循环的话要一次次自己导进去啊
oushiquan 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 19:31


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.