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
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
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 Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!