我正在开发一个简单的线性插值程序。在实现算法时遇到了一些问题。假设有12个数字,我们让用户输入其中3个(位置0、位置6和位置12)。然后程序会计算其他数字。这是我的一段代码:
static double[] interpolate(double a, double b){
double[] array = new double[6];
for(int i=0;i<6;i++){
array[i] = a + (i-0) * (b-a)/6;
}
return array;
}
static double[] interpolate2(double a, double b){
double[] array = new double[13];
for(int i=6;i<=12;i++){
array[i] = a + (i-6) * (b-a)/6;
}
return array;
}
正如您所看到的,我使用了两个函数。但是我想找一个通用函数来完成这项工作。然而,我不知道如何找到一种通用的方法来表示i-0
和i-6
。怎么解决呢?根据浮点线性插值,我知道也许我应该添加一个形式参数float f
。但我不太明白float f
是什么意思,以及如何根据它修改我的代码。有谁能帮帮我吗?谢谢。