I should calculate sample mean ms and variance

2 次查看(过去 30 天)
I should calculate sample mean ms and variance vs and for each I calculated ms and vs calculate their relative errors in percent, than print it.
I know, that output should be something like that:
but I got only this:
I don't understang what is going wrong.
% Here is my code
m = 10 ;
v = 3 ;
for N = [1 2 5 10.^[ 1 : 5 ] ]
ms = mean( N ) ; % sample mean
vs = var( N ) ; % sample variance
rems = abs(ms-0.5)/0.5 * 100 ;
revs = abs(vs-1/12)/(1/12) * 100 ;
fprintf("Vector length N: %6d, mean: %10.6f, variance: %10.6f, mean error: %10.6f%%, variance error: %10.6f%% \n", N, ms, vs, rems, revs)
end
  1 个评论
Torsten
Torsten 2022-12-4
编辑:Torsten 2022-12-4
rems = abs(ms-0.5)/0.5 * 100 ;
revs = abs(vs-1/12)/(1/12) * 100 ;
0.5 as mean and 1/12 as variance are the theoretical values for mean and variance of a uniform distribution on the interval [0 1].
Of course, you will have to change them and insert here the theoretical values for mean and variance of your data arrays.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2022-12-4
for N = [1 2 5 10.^[ 1 : 5 ] ]
at each point inside the loop, N will be a scalar value that is one of the values indicated
ms = mean( N ) ; % sample mean
mean of a scalar is the value itself.
vs = var( N ) ; % sample variance
variance of a scalar is 0.

类别

Help CenterFile Exchange 中查找有关 Elementary Math 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by