0

行列を反復処理し、条件の下で値を変更するにはどうすればよいですか。例:サイズ100x100の行列mがあり、Imは次のことを行っています。

m(m<10)=func(elemnt);

要素は反復時に現在の要素である必要があります。現在の要素にアクセスするにはどうすればよいですか?

4

1 に答える 1

3

簡単に試してください m(m<10)=func(m(m<10));

例:

m=[[1 2 3];[5 6 7];[8 9 10]]

m =
1    2    3
5    6    7
8    9   10

m(mod(m,3)==2) = m(mod(m,3)==2) * 5
m =
 1   10    3
25    6    7
40    9   10

唯一の制約は、カスタム関数がベクトルを処理できることです。

于 2012-11-11T09:34:14.970 に答える