2017-12-23 8 views
0

ここでオクターブに新しい。oactve:単純な条件に従って各要素を変更してください。

私は行列Xを持っていますが、要素の値が10より大きい場合は10に変更します。そうでない場合は同じ値を保持します。

理論的には、私は2つのループを行い、各要素を調べることができます。これを行う簡単な方法があるかどうか不思議です。

答えて

0

EDIT:

私はそれを行うための慣用的な方法のように見えますがlogical indexing使用している:

A(A>10)=10 

使うFunction Application (@arrayfun):これは非常に行うことができます

> A=[10, 20, 30; 9, 13, 8] 
> arrayfun (@(x) ifelse (x>10, 10, x), A) 
ans = 

    10 10 10 
    9 10 8 
6

簡単に、より効率的に、01で:

A(A>10) = 10; 

別のオプションは、min機能を使用することです:これは、最も効率的な方法である

A = min(A,10); 
+3

を – ederag

関連する問題