Error with Uniquetol: " Repetitive numbers not being removed"
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chris Dan
am 19 Jul. 2020
Kommentiert: Chris Dan
am 19 Jul. 2020
Hi,
I have this double array by the name " GlobalNMesh", I am attaching the file.
It has some repetitive numbers, as shown
I am using
load('GlobalNMesh.mat')
c = uniquetol(GlobalNMesh)
But I am not getting correct results, repetitive numbers are not being removed...
Does anybody know what changes to make?
0 Kommentare
Akzeptierte Antwort
Stephen23
am 19 Jul. 2020
Set the tolerance to a suitable value, e.g.:
>> uniquetol(GlobalNMesh,1e-3)
ans =
0 0.0336 0.1199 0.1331
2 Kommentare
Weitere Antworten (1)
dpb
am 19 Jul. 2020
Yeah, fix the magnitude of the tolerance interval you want distinguished--by default uniquetol(A) uses 1e-6 for single-precision inputs and 1e-12 for double-precision inputs.
Your values are different only in the 5th/6th position so need a tolerance to reflect that...
>> format long, format compact
>> diff(GlobalNMesh)
ans =
0.033640000000000 0.086250000000000 0.000010000000000 0.013160000000000 0.000040000000000
>> fix(log10(diff(GlobalNMesh)))
ans =
-1 -1 -4 -1 -4
>> uniquetol(GlobalNMesh,1E-4,'DataScale',1)
ans =
0 0.033640000000000 0.119890000000000 0.133060000000000
>>
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!