【发布时间】:2017-08-27 11:37:31
【问题描述】:
假设我有一个 1xn 维向量,其值在 0 - 9 之间,如下所示:
A = [4 3 7 9 0]
我想将其转换为 nx10 矩阵,如下所示:
A = [0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0]
除了原始向量 A 中的第 i 个元素表示的第 i 行中的列之外,所有内容都为零。
我可以通过 for 循环轻松做到这一点:
newA = zeros(n,10);
for (i = 1:n)
newA(i,A(i)) = 1;
end
A = newA;
但是有没有一种向量化的方法可以在没有 for 循环的情况下做到这一点?
【问题讨论】:
标签: matlab