1

これを使用するときに、マトリックス内の実際の要素(indX)の行を取得しようとしています

matrix2 = matrix .* indX; 

matrix = ones(2,2)これらの値でmatrix2を待っていると仮定し
ます[1 1; 22]

これには「for」を使用できます

[rows columns] = size(matrix)
for (indX=0; indX<rows; indX++)
matrix2(indX,:) = matrix(indX,:) .* indX;
endfor

「for」を使用せずにindXを取得することは可能ですか?
はいの場合、どうすればそれを行うことができますか?

4

1 に答える 1

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
于 2012-12-17T16:10:08.090 に答える