Допустим, у меня есть вектор a = [1 2 4]
.Я хочу, чтобы он был преобразован в вектор, который выглядит следующим образом b = [1 2 0 4]
, т. Е. Каждое число помещается в правильную позицию и, поскольку 3
не входит в вектор a
, оно заменяется на 0
в векторе * 1006.*.Это можно сделать следующим образом:
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];
Любые советы?Как это может быть сделано?Как я могу сделать это без использования петель?