我想我的製表爲牛頓Raphsons方法數據僅供整齊地排列類似二次方程。我遇到的困難是在數組中分配變量,將先前的xn1值分配給後續行中的xn值,並在數組中使用double值。牛頓Raphsons方法的Java
例如(在我的代碼如下所示)我有變量,如(N,XN,FXN,dfxn,XN1)。我想分配這些變量的值,如下圖所示。
在[圖像],第一行中的XN + 1個值成爲第二行中的XN值。我遇到了麻煩。我試圖在for loop
的末尾做xn = xn1
,但這似乎不起作用。
最後,每次我嘗試將double
變量值分配給double array[][]
時,它給我一個錯誤,說double cannot be converted to double[]
。
代碼:
import java.util.Scanner;
import java.lang.Math;
import java.util.Formatter;
public class Newton {
static double a, b, c;
static double n = 1;
static double xn;
static double fxn;
static double dfxn;
static double xn1;
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
System.out.println("Enter a");
double a = s.nextDouble();
System.out.println("Enter b");
double b = s.nextDouble();
System.out.println("Enter c");
double c = s.nextDouble();
System.out.println("Enter The value you want to start with");
double xn = s.nextDouble();
fxn = a * Math.pow(xn, 2) + b * xn + c;
dfxn = 2 * a * xn + b;
xn1 = xn - (fxn/dfxn);
double array[][] = { n, xn, fxn, dfxn, xn + 1 };
System.out.println();
System.out.println("n\t" + "Xn\t" + "fXn\t" + "dfXn\t" + "Xn+1");
array(array);
}
public static void array(int x[][]) {
for (int row = 0; row < x.length; row++) {
for (int column = 0; column < x[row].length; column++) {
System.out.print(x[row][column] + "\t");
}
System.out.println();
}
}
}