Bien le bonjour !
J'ai un petit problème de recherche de valeur dans un vecteur (un bout de matrice en fait...).
L'idée est simple: j'ai un double A que je cherche dans un vecteur de double B.
Code matlab : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 verif = sum(B == A) verif = 0
Théoriquement la valeur n'existe pas dans le vecteur B sauf que quand j'écris:
Code matlab : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 [val,id] = min(abs(B-A)) val = 2.384185791015625e-07 id = 68609 B(id) ans = 2.108642317000000e+09 A ans = 2.108642317000000e+09
La valeur existe bien dans B et est identique à A (du moins à l'affichage...).
Ma question: mais pourquoi ? et surtout comment y remédier ?
Je précise qu'à la base B est une colonne dans une matrice (1205836,3) et que je vais chercher A dans une structure "A = struct1.struct2.pwet(x)";
Je répète l’opération environ 3500 fois. Ca fonctionne dans la plupart des cas (99%) mais pas dans celui-ci.
Par avance, merci.
Partager