Why, when I calculate the skewness of a series with constants, do I not get NaN?
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Cris LaPierre
2021-10-11
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)
3 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Descriptive Statistics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!