I should calculate sample mean ms and variance

2 Ansichten (letzte 30 Tage)
Ihor
Ihor am 4 Dez. 2022
Bearbeitet: Torsten am 4 Dez. 2022
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 Kommentar
Torsten
Torsten am 4 Dez. 2022
Bearbeitet: Torsten am 4 Dez. 2022
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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 4 Dez. 2022
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.

Kategorien

Mehr zu Creating and Concatenating Matrices 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!

Translated by