ニュートンラプソン法のデータは、きちんとした配列の二次方程式だけのために表にしたいと思っていました。私がやりにくいのは、配列内の変数を割り当てることです。前のxn1の値を後続の行のxnの値に割り当て、配列に二重の値を割り当てます。ニュートンのRaphsonsメソッドJava
たとえば、(私のコードでは)(n、xn、fxn、dfxn、xn1)などの変数があります。私はこれらの変数の値をそれぞれのヘッダーの下に以下のイメージのように割り当てたいと思っていました。 [画像]で
、最初の行のXN + 1の値は、2行目のXN値となります。私はそれをするのに苦労している。私はfor loop
の最後にxn = xn1
をしようとしましたが、それはうまくいかないようです。
最後に、変数の値を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();
}
}
}