I have an issue with the format of number when i use mean2

4 Ansichten (letzte 30 Tage)
Hi i m a new user in matlab. I have a problem when i want to calculate
y=mean2((x-mean2(x))/std2(x))
In fact, i should obtain y=0 , but when i use for example this matrix
x=[10 10 9.2 1;8.33 11.66 29 10;4 10 10 2];
i obtain y=-5.5511e-17! could you help me please

Akzeptierte Antwort

Ingrid
Ingrid am 29 Jan. 2016
this is very common to floating point operations and basically y == 0 if you compare it to the eps value. You should never compare directly if a variable is equal to zero for this reason but always use abs(y) < eps
  3 Kommentare
shiraz karray
shiraz karray am 29 Jan. 2016
Thank you so much for your answer.
Walter Roberson
Walter Roberson am 29 Jan. 2016
There is a whole branch of mathematics that has to do with analyzing how small the "arbitrarily_small_threshold" should be, and how to know when you can stop adding terms from a theoretically infinite series.
The situation is like noticing,
"1/3 = 0.33333, so 2*(1/3) = 0.66666, so 3*(1/3) must = 0.99999 so why isn't that 1.00000?"

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by