a(a(a>3)<10) = OK ; a(a>3 && a<10) = wrong!, the correct way?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Leotsing
 le 27 Fév 2017
  
    
    
    
    
    Modifié(e) : Leotsing
 le 27 Fév 2017
            a=[1 2 3 4 11 33]; I want to get the number in a from 4-9; a(a(a>3)<10) is right; a(a>3 && a<10) is wrong -- is there other correct way to make this ?
0 commentaires
Réponse acceptée
  Alexandra Harkai
      
 le 27 Fév 2017
        If you want to get only values between 3 and 10 (excluding the endpoints), the correct way would be:
a(a>3 & a<10)
(Not exactly sure what you meant by 'OK' but a(a(a>3)<10) definitely gives some unexpected results.)
2 commentaires
  John D'Errico
      
      
 le 27 Fév 2017
				Note that Alexandra used a single & operator there. This is correct when you are anding together boolean vectors. Use && only in things like a test in an if statement.
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


