Bonjour,
un complément pas nécessairement indispensable :
- pour travailler en valeurs relatives plutôt qu'absolues, il est possible que chercher les valeurs proches en faisant abs(1-A./B) plutôt que abs(A-B).
- A && B ne fonctionne que si A et B sont des scalaires, et non des vecteurs. Dans ce dernier cas, comme tu l'indiques, il faut utiliser A & B. La différence est la suivant :
Avec C = A && B, Matlab ne regarde l'état logique de B que si celui de A vaut 1 (en effet, si A vaut 0, il est inutile de regarder l'état de B puisque C vaudra de toutes façon 0.
Avec C = A & B, Matlab regarde systématiquement l'état logique de B, indépendamment de celui de A.
- attention à l'ordre des opérateur : le "&" est prioritaire sur le "ou" (de même que la multiplication est prioritaire sur l'addition). Ainsi : A | B & C = A | (B & C). cela aurait empéché de fonction ton exemple " find( (A<B+5) || (A<B-5) && (A>50) && (B>50) )" comme tu l'entendais.
Partager