I have a number of data points, lets say in a vector v, and lets say there are "num" of them. If I write sd = std(v) did it assume a sample i.e. it used num-1 (in the denominator) or did I get a population standard dev i.e. it used num? How can I request one or the other?

 採用された回答

the cyclist
the cyclist 2017 年 1 月 8 日
編集済み: the cyclist 2017 年 1 月 8 日

0 投票

By default, it will give the sample standard deviation. Call it as
std(x,1)
to get the population. That is explained in the documentation for std, in the section describing the input argument weight.

2 件のコメント

Helen Kirby
Helen Kirby 2017 年 1 月 8 日
Thank you very much. I did actually look under "doc standard deviation" and couldn't find the answer. But thank you for answering my question.
John BG
John BG 2017 年 1 月 8 日
look for standard deviation or std

サインインしてコメントする。

その他の回答 (1 件)

Helen Kirby
Helen Kirby 2017 年 1 月 8 日

0 投票

Could I ask yet another question on this theme - and yes I have read the documentation and it doesn't answer this question. Say if you have x = [1,2,3,4,5,6] and w = [5,7,10,8,12,3] and we want to find the weighted std for a population, how do I write the command for a POPULATION? I understand for a sample it is:
StdSamp = std(x,w) If you put the 1 as the 3rd parameter, it does not interpret it as pop.

1 件のコメント

Walter Roberson
Walter Roberson 2017 年 1 月 9 日
You cannot combine the two weighting schemes.
std(x) is normalized by N-1. std(x,1) is normalized by N. std(x,1) works out to be the same as std(x, ones(size(x)) .
std(x,w,1) means to proceed along dimension 1. Your data was row vectors, so that did not work. But you could use
std(x(:), w(:), 1)
if you had particular reason for wanting to specifically process along the first dimension.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by