当我使用它时,我试图将实际元素(indX)的行放在矩阵中
matrix2 = matrix .* indX;
假设矩阵= 1(2,2)
我正在等着具有这些值的matrix2 [1 1; 2 2]
我可以使用“for”这个
[rows columns] = size(matrix)
for (indX=0; indX<rows; indX++)
matrix2(indX,:) = matrix(indX,:) .* indX;
endfor
是否可以在不使用“for”的情况下获取indX?
如果是,我该怎么做?
答案 0 :(得分:2)
您可以使用bsxfun
:
matrix2 = bsxfun(@times, (1:size(matrix,1))', matrix); %'
matrix =
4 2
3 3
4 1
>> bsxfun(@times, (1:size(matrix,1))', matrix ), % '
ans =
4 2
6 6
12 3