package xx; import javautilArrayList; import javautilArrays; import javautilList; import javautilScanner; public class xx public static void adderr ListInteger numbers = new ArrayList;
package xx; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner;
public class xx {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List
System.out.print("请输入数字(输入0结束):");
while (true) {
input = scanner.nextInt();
if (input == 0) {
break;
}
numbers.add(input);
}
System.out.println("输入的数字数组为:");
System.out.println(numbers);
// Call ErrorNormalization method
ErrorNormalization(numbers.stream().mapToDouble(Integer::doubleValue).toArray());
}
public static void ErrorNormalization(double[] num) {
double[] errors = num;
// 调用normalizeErrors方法进行误差归一化
double[] normalizedErrors = normalizeErrors(errors);
System.out.println("原始误差数组: " + Arrays.toString(errors));
System.out.println("归一化误差数组: " + Arrays.toString(normalizedErrors));
}
public static double[] normalizeErrors(double[] errors) {
// 找到最大误差和最小误差
double maxError = Double.NEGATIVE_INFINITY;
double minError = Double.POSITIVE_INFINITY;
for (double error : errors) {
if (error > maxError) {
maxError = error;
}
if (error < minError) {
minError = error;
}
}
// 归一化误差数组
double[] normalizedErrors = new double[errors.length];
if (errors.length > 1) {
for (int i = 0; i < errors.length; i++) {
normalizedErrors[i] = (errors[i] - minError) / (maxError - minError);
}
} else {
normalizedErrors = new double[]{1.0};
}
return normalizedErrors;
}
public static float err(float setSpeed, float actualSpeed) {
float err = setSpeed - actualSpeed;
return err;
}
原文地址: https://www.cveoy.top/t/topic/hPle 著作权归作者所有。请勿转载和采集!