如何在Octave / MatLab中获取实际元素的行和列

时间:2012-12-17 14:33:59

标签: matlab octave

当我使用它时,我试图将实际元素(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?
如果是,我该怎么做?

1 个答案:

答案 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