2010-07-26 38 views
0

Disons que j'ai une matrice 256 par 256. Je voudrais remplacer toutes les valeurs qui sont 'plus grandes' ou 'égales' à 10 par 1 et faire le reste 0 c'est-à-dire (valeurs < 10).Comparaison de valeurs d'éléments de matrice dans MATLAB

Par exemple,

2 3 6 15 24 32 1 7 39 10 .... 

1 5 7 11 19 10 20 28 9 ........ 

10 24 6 29 10 25 32 10 .......... 

................................. 

................................. 

et je veux que la sortie soit:

0 0 0 1 1 1 0 0 1 1 ............ 

0 0 0 1 1 1 1 1 0 .............. 

1 1 0 1 1 1 1 1 ................ 

................................ 

................................ 

Comment puis-je faire?

Répondre

3

Exemple:

a = [3 2 6 6 ; 
    7 5 3 7 ; 
    7 10 8 9 ; 
    2 4 3 10]; 

b = (a > 5) 
b = 
    0  0  1  1 
    1  0  0  1 
    1  1  1  1 
    0  0  0  1 
+1

vous n'obtiendrez ce résultat car il n'y a pas de numéro supérieur à 10 a. De plus, vous n'avez pas besoin de parenthèses. – yuk

+0

Ha, je ne savais pas que vous pouvez mettre des points-virgules après chaque ligne dans un, mais cela fonctionne. – yuk

+0

@yuk: On dirait qu'Amro veut dire 'b = (a> 5)', mais il met '10' à la place. – gnovice