使用Matlab中的数据点和计数向量计算标准偏差

时间:2014-03-07 11:11:00

标签: matlab statistics probability standard-deviation

我想用Matlab来计算我编译的人口的标准偏差。

matlab函数将一个大的总体向量作为输入,并输出标准开发。

但是,出于优化目的,我有一组单独的数据点,而不是一个大的向量,以及每个点的使用次数。

我可以使用循环并创建一个庞大的人口向量,但这并不理想。

我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

definition of standard deviation非常简单:只需引入权重来计算每个数据点的重复次数:

data  = [1 3 4 2 4]; %// data values
count = [4 5 4 5 8]; %// number of times for each value

mu = sum(data.*count)./(sum(count));
dev = sqrt(sum((data-mu).^2.*count)./(sum(count)-1)); %// or ./sum(count)