why setdiff function ignores to delete the element in the first column of an array
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MUTHUKUMARASAMY V
le 3 Avr 2020
Commenté : MUTHUKUMARASAMY V
le 4 Avr 2020
>> w =[0.54883746334269044248968027421965, 1.5707963267948966192313216916398, 0.59916277322729276097921590697775;1.5707963267948966192313216916398, 0.7011471887975026432568455778359, 1.5707963267948966192313216916398;-0.54883746334269044248968027421965, -0.7011471887975026432568455778359, -0.59916277322729276097921590697775]
e=setdiff(w,1.5708,'stable')
w =
0.5488 1.5708 0.5992
1.5708 0.7011 1.5708
-0.5488 -0.7011 -0.5992
e =
0.5488
1.5708 (this entry should not be there, but it persists)
-0.5488
0.7011
-0.7011
0.5992
-0.5992
please let me know what change i need to make in setdiff so that the second entry in 'e' gets deleted
2 commentaires
Stephen23
le 3 Avr 2020
Modifié(e) : Stephen23
le 3 Avr 2020
Because those values are not the same, and in fact none of those values can be precisely represented using binary floating point numbers that are used on all contemporary computers. Read these to know more:
You need to learn about the limits of floating point numbers. Start by reading these:
This is worth reading as well:
Réponse acceptée
Fangjun Jiang
le 3 Avr 2020
You've show its value is 1.5707963267948966192313216916398.
It is the floating point data precision issue.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!