【发布时间】:2010-10-24 17:56:29
【问题描述】:
假设我有一个向量a = [1 2 4]。我希望它转换成一个看起来像这样b = [1 2 0 4] 的向量,即每个数字都放置在正确的位置,并且由于3 不包含在向量a 中,它被向量@987654326 中的0 替换@。这可以通过以下方式完成:
a = [1 2 4]
b = zeros(1, size(a, 2));
b(1, a) = a;
我想不出一种方法来对矩阵做同样的事情。例如,
c = [1 4 2 0; 3 1 0 0; 4 0 0 0; 1 3 4 0];
我需要转换成如下所示的矩阵:
d = [1 2 0 4; 1 0 3 0; 0 0 0 4; 1 0 3 4];
有什么建议吗?如何才能做到这一点?如何在不使用循环的情况下做到这一点?
【问题讨论】:
-
如何 b = zeros(1, size(a, 2)); a(1, b) = b;实现你要求的改变?
-
对不起,我的错误。以上已更正。