有人可以帮我解决这个公式吗? (标准偏差)
Can someone help me with this formula ? (Standard deviation)
所以我刚开始学习 Java,但是我的教授。刚刚给了我们这个狂野的公式,我们必须将其转化为代码。我不知道如何使这成为可能,有人可以帮助我吗?
σ表示标准偏差
µ 表示平均值
x 表示数组 x
N表示N个变量
]
Σ
大写 Sigma 字符仅表示总和。
因此,对于每个数据值,减去均值(通俗地说,平均值)并对结果进行平方。将所有这些值加在一起,除以数据值的数量减一,然后取平方根。
伪代码如下所示。首先是一个计算均值的函数:
def calcMean(collection):
# Initialise for working out mean (sum / count).
sum = 0, count = 0
# Add every item to the sum and keep count.
for item in collection:
sum = sum + item
count = count + 1
# Avoid dive by zero, you choose what to do.
if count == 0:
handle empty collection somehow
# Return the mean.
return sum / count
然后用它来计算标准偏差:
def calcStdDev(collection):
# Get mean of the collection, initialise accumulator and count.
mean = calcMean(collection)
accum = 0, count = 0
for item in collection:
# Accumulate each '(item-mean) squared' value.
diff = item - mean
accum = accum + diff * diff
# Avoid dive by zero, you choose what to do.
if count < 2:
handle too-small collection somehow
# Divide and square root for result.
return sqrt(sum / (count - 1))
现在你的工作是将该伪代码转换为 Java,这应该比将 公式 转换为 Java 更容易一些。
所以我刚开始学习 Java,但是我的教授。刚刚给了我们这个狂野的公式,我们必须将其转化为代码。我不知道如何使这成为可能,有人可以帮助我吗?
σ表示标准偏差 µ 表示平均值 x 表示数组 x N表示N个变量
Σ
大写 Sigma 字符仅表示总和。
因此,对于每个数据值,减去均值(通俗地说,平均值)并对结果进行平方。将所有这些值加在一起,除以数据值的数量减一,然后取平方根。
伪代码如下所示。首先是一个计算均值的函数:
def calcMean(collection):
# Initialise for working out mean (sum / count).
sum = 0, count = 0
# Add every item to the sum and keep count.
for item in collection:
sum = sum + item
count = count + 1
# Avoid dive by zero, you choose what to do.
if count == 0:
handle empty collection somehow
# Return the mean.
return sum / count
然后用它来计算标准偏差:
def calcStdDev(collection):
# Get mean of the collection, initialise accumulator and count.
mean = calcMean(collection)
accum = 0, count = 0
for item in collection:
# Accumulate each '(item-mean) squared' value.
diff = item - mean
accum = accum + diff * diff
# Avoid dive by zero, you choose what to do.
if count < 2:
handle too-small collection somehow
# Divide and square root for result.
return sqrt(sum / (count - 1))
现在你的工作是将该伪代码转换为 Java,这应该比将 公式 转换为 Java 更容易一些。