Neglecting difference between two values if it is very small so that value1= value2

3 vues (au cours des 30 derniers jours)
Cutie
Cutie le 28 Juil 2021
Commenté : Fangjun Jiang le 29 Juil 2021
I am working on a dataset. After some eigendecompostion process. I realise the difference between my values are as small as 1.8097e-14 which is my further implementation process.
Example
data1(1:10) = 0 0.1502 0.2970 0.4371 0.5673 0.6845 0.7863 0.8702 0.9343 0.9773
data2(1:10) = -0.0000 0.1502 0.2970 0.4371 0.5673 0.6845 0.7863 0.8702 0.9343 0.9773
C= data1(1:10)-data2(1:10)
C =
1.0e-12 *
0.0862 0.1227 0.1545 0.0772 0.1019 0.1178 -0.0174 0.0048 0.0170 0.0181
How do I code that the these difference be neglected so that values in data1 & data2 will be equal since the difference is very small

Réponses (1)

Fangjun Jiang
Fangjun Jiang le 28 Juil 2021
Modifié(e) : Fangjun Jiang le 28 Juil 2021
To compare element by element, abs(C) < Tolerance
To compare the two vectors as a whole, all(abs(C) < Tolerance)
or use
ismembertol(C,0,Tolerance)
  7 commentaires
Cutie
Cutie le 29 Juil 2021
@Fangjun Jiang will it look like
if abs(Data1-Data2)<1e-6
Data1=Data2
end
Fangjun Jiang
Fangjun Jiang le 29 Juil 2021
I guess you could to that. The solution is clear, do whatever to get the result you need.

Connectez-vous pour commenter.

Produits


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by