如何将矩阵放在外观中并存储值?

时间:2013-10-08 12:31:28

标签: matlab matrix

我想在一个外观中放置一个矩阵,并希望在该循环之后获取该矩阵的值并想要存储它。例如:

N =10;
C=eye(N);
P=[.1 .2 .3];
for k=1:3
    Rp=C;
    for i=1:N
        if(rand < P(1,k))
            Rp(i,:) = 0;
        end
    end
end

从上面的函数可以看出,我将得到3个Rp矩阵,因为我有3个P值。如何存储所有这3个Rp的值?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为这正是您所寻找的,只需将主循环结束时的结果存储到单元格数组中即可。

N=10;
C=eye(N);
p=[.1 .2 .3];
RpMats = cell(1,numel(p));
for k=1:numel(p)
    Rp=C;
    for i=1:N
        if(rand < p(1,k))
            Rp(i,:) = 0;
        end
    end
    RpMats{k} = Rp;
end

RpMats是一个单元格数组,其中索引1对应于索引1处的概率。