【发布时间】:2014-03-07 11:10:59
【问题描述】:
我想使用 Matlab 计算我编译的总体的标准差。
matlab 函数将一个大种群向量作为输入并输出标准 dev。
但是,出于优化目的,我有一组单独的数据点,而不是一个大向量,以及每个点的使用次数。
我可以使用循环并创建一个巨大的人口向量,但这并不理想。
我该怎么办?
【问题讨论】:
标签: matlab statistics probability standard-deviation
我想使用 Matlab 计算我编译的总体的标准差。
matlab 函数将一个大种群向量作为输入并输出标准 dev。
但是,出于优化目的,我有一组单独的数据点,而不是一个大向量,以及每个点的使用次数。
我可以使用循环并创建一个巨大的人口向量,但这并不理想。
我该怎么办?
【问题讨论】:
标签: matlab statistics probability standard-deviation
从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)
【讨论】: