数组元素检验累加
假设:通过计算得出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 编辑 ] example:
T=1:7;
a=2;
b=zeros(size(T));
b(T>a)=b(T>a)+1;
最终b的每个元素的值就是比a大的次数 试试下
a=0.5; aa=rand(500,7); ii=find(aa>a); length(ii)
回复 沙发 波波球 的帖子
这个T数组 是每次得到的下次得到新的T 怎么累加上去啊。发现没有保存前一次的b(T>a):@(
回复 板凳 ChaChing 的帖子
这个会,在一个矩阵中寻找大于a的数的个数就是放在每次就不会了, 比如
a=2;
T1= ;%%得到 数据b1(T>a)=
T2= ;%%得到 数据
累加到上次的得出是
T3= ;%%得到 数据
累加到上次的得出是
。。。。。关键是个得出后的存储怎么弄?
...
T500=[ , , , , ] 得到累加到最后的结果
[ 本帖最后由 ChaChing 于 2009-7-22 20:00 编辑 ] mm=1:500;
Ab(mm,:)=zeros(1,7)
bbbb=find(T>a);
Ab(mm,bbbb)=1;
sum(Ab)
做出来了:@) 谢谢ChaChing主任和波波球了
回复 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]