why setdiff function ignores to delete the element in the first column of an array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
MUTHUKUMARASAMY V
am 3 Apr. 2020
Kommentiert: MUTHUKUMARASAMY V
am 4 Apr. 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 Kommentare
Stephen23
am 3 Apr. 2020
Bearbeitet: Stephen23
am 3 Apr. 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:
Akzeptierte Antwort
Fangjun Jiang
am 3 Apr. 2020
You've show its value is 1.5707963267948966192313216916398.
It is the floating point data precision issue.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!