Why, when I calculate the skewness of a series with constants, do I not get NaN?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Angelavtc
am 11 Okt. 2021
Kommentiert: Cris LaPierre
am 11 Okt. 2021
Dear Matlab community,
I have a simulation of normally distributed numbers with a mean of 76 and a standard deviation of 0, which describes a series of constant numbers with the value 76. To this simulation, I apply a function that also yields constants and, therefore, its skewness should be also NaN. Why, when I calculate their skewness, do I not get NaN but 1? How do I correct this error?
Thanks in advance!
Np=20;
cb=2;
ab = 30*(Np/100)^(cb-1);
n=100;
Qd = normrnd(76,0,n,1);
Pw=ab*((Qd/Np).^(cb-1));
skewness(Pw)
skewness(Qd)
var(Qd)
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 11 Okt. 2021
I suspect this has to do with how floating point numbers are stored in a computer. 76 can be stored exactly as is, but 22.8000 is not exactly 22.8 in your computer. If you round Pw, you will see the skewness is also NaN.
format long
Np=20;
cb=2;
ab = 30*(Np/100)^(cb-1);
Qd = normrnd(76,0,100,1);
Pw=ab*((Qd/Np).^(cb-1));
Pw(1)
skewness(Pw)
var(Pw)
skewness(round(Pw))
skewness(Qd)
var(Qd)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Descriptive Statistics 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!