furoo 发表于 2009-8-24 17:06

如何存储这个序列?

有一个序列: f:m*n矩阵,m,n是自己输入,变化的
现在计算每列中-1出现的次数。

for i=1:n
   x(?,i)=find(fi(:,i)==-1);
   y=length(x(?,i));
end;
不知道这样计算对不对,x(?,i),因为不知道x每列的长度,所以x()不知道怎么写?大家帮忙请教,谢谢了!

花如月 发表于 2009-8-24 17:24

不需要用循环,f初始化完毕后只需length(find(f==-1))语句,就可以求出-1出现的次数了,比如:
>> f=-1*ones(5)

f =

    -1    -1    -1    -1    -1
    -1    -1    -1    -1    -1
    -1    -1    -1    -1    -1
    -1    -1    -1    -1    -1
    -1    -1    -1    -1    -1

>> length(find(f==-1))

ans =

    25

furoo 发表于 2009-8-24 19:27

回复 沙发 花如月 的帖子

谢谢你,你这样比较简洁~~

[ 本帖最后由 furoo 于 2009-8-24 20:55 编辑 ]

ChaChing 发表于 2009-8-24 21:45

原帖由 furoo 于 2009-8-24 17:06 发表 http://www.chinavib.com/forum/images/common/back.gif
...计算每列中-1出现的次数...

针对每列计算, 参考下
f=-1*ones(5); f(,)=2; f(4,3)=3
aa=zeros(5); aa(find(f==-1))=1; sum(aa)

还有LZ原来的思维也可, 试试参考下
y=[];
for i=1:5
    x(i)={find(f(:,i)==-1)}; y=;
end; y
页: [1]
查看完整版本: 如何存储这个序列?