1

次の配列があります

a = [ 1 10 3 4 68 2 34 8 10 ]

そして、この数が 9 より大きい場合は、各数を割る (/2) 必要があります。つまり、1 を割る必要はなく、10 を割る (/2) 必要があります。

結果の配列は次のようになります。

a = [ 1 5 3 4 34 2 17 8 5 ]

FOR関数を使用せずに実行する必要があります。だから私はこれで試しました:

a = a./2;

これは配列のすべての数を除算しますが、前に言ったように、9 より大きいものだけを除算したいと思います。

どうすればそれができるか教えてもらえますか?そのステートメントまたは何かに「もし何でも> 5」を追加しますか?
前もって感謝します

4

1 に答える 1

4

論理インデックスを使用して、基準を満たす数値のみを除算し、結果をそれらの特定のインデックスに割り当てます。

a = [ 1 10 3 4 68 2 34 8 10 ];
a(a>9) = a(a>9) ./ 2
于 2011-09-28T22:46:38.227 に答える