gpt4 book ai didi

java - 无法获得标准差,我做错了什么?

转载 作者:行者123 更新时间:2023-12-02 11:24:32 25 4
gpt4 key购买 nike

我基本上尝试使用一个数组,它是从文件中读取的数据,然后使用该数组计算数据的平均值和标准差。

我似乎无法获得正确的号码。

static public double[][] calcStats(String[][] x) throws IOException {
double[][] array = new double[7][2];
double total = 0, std_dev = 0, amount = 0;
int row2 = 0;
for (int row = 1; row < x.length; row++) {
array[row2][0] = (total);
array[row2][1] = Math.sqrt(amount);
amount = 0;
total = 0;
if (row >= 2) {
row2++;
}
for (int col = 1; col < x[row].length; col++) {
total += Integer.parseInt(x[row][col]);
if (col == 4) {
total = (total / 4);
}
}
for (int col = 1; col < x[row].length; col++) {
std_dev = (Integer.parseInt(x[row][col])) - (total);
std_dev = Math.pow(std_dev, 2);
amount = +std_dev;
std_dev = 0;
if (col == 4) {
amount = (amount / 27);
}
}
}
array[row2][0] = (total);
return array;
}

最佳答案

Java 中的数组从 0 开始。您将从 1 开始循环。这意味着您缺少每个数组的第一个元素。

根据 Marko Topolnik 的建议,我应该指出,我将原始代码中的 amount =+ std_dev; 更改为 amount += std_dev;。现在我想了一下,这是一个无效的编辑,因为原始代码是一个额外的问题(除了循环限制之外)。我将编辑回滚到 Marco 的版本。

关于java - 无法获得标准差,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com