prince00840 发表于 2009-7-21 20:36

数组元素检验累加

假设:通过计算得出500组T数据,每次计算得出一组T,里面含有七个元素(一行七列),
比较每次的T中七个元素与a(某数值)的大小,并记录比a大的元素的位置
最终怎么知道这500数组中
每个位置上 比a大的次数呢?请问主任老师怎么实现这种累加?

for mm=1:500
T=T(:,mm);
for i=1:7
if T(1,i) >a
sum(1,i)=sum(1,i)+1;
else
end
end
sum

[ 本帖最后由 ChaChing 于 2009-7-21 22:50 编辑 ]

波波球 发表于 2009-7-21 21:18

example:
T=1:7;
a=2;
b=zeros(size(T));
b(T>a)=b(T>a)+1;
最终b的每个元素的值就是比a大的次数

ChaChing 发表于 2009-7-21 22:48

试试下
a=0.5; aa=rand(500,7); ii=find(aa>a); length(ii)

prince00840 发表于 2009-7-22 08:50

回复 沙发 波波球 的帖子

这个T数组 是每次得到的

下次得到新的T 怎么累加上去啊。发现没有保存前一次的b(T>a):@(

prince00840 发表于 2009-7-22 08:58

回复 板凳 ChaChing 的帖子

这个会,在一个矩阵中寻找大于a的数的个数

就是放在每次就不会了, 比如
a=2;
T1=   ;%%得到 数据b1(T>a)=
T2=   ;%%得到            数据
                                              累加到上次的得出是
T3=    ;%%得到            数据
                                             累加到上次的得出是
。。。。。关键是个得出后的存储怎么弄?
...
T500=[ , , , , ]    得到累加到最后的结果

[ 本帖最后由 ChaChing 于 2009-7-22 20:00 编辑 ]

prince00840 发表于 2009-7-22 13:01

mm=1:500;
Ab(mm,:)=zeros(1,7)
bbbb=find(T>a);
Ab(mm,bbbb)=1;
sum(Ab)

做出来了:@) 谢谢ChaChing主任和波波球了

ChaChing 发表于 2009-7-22 20:19

回复 6楼 prince00840 的帖子

可能LZ没使用复制, 有些小错误! 请参考!
建议先使用小一点的矩阵验证下! 个人都会如此, 没法, 记不牢!
nn=5; T=rand(nn,7); a=0.5; Ab=zeros(nn,7);
ii=find(T>a); Ab(ii)=1;
sum(Ab)
页: [1]
查看完整版本: 数组元素检验累加