私はどの言語でもプログラムを書くのが初めてで、Cで動作すると思われる単純なNewton-Raphsonメソッドを書こうとしています(コンパイルはしていませんが、動作した以前の例から行っているので、これを作成しています仮定)しかし、Javaからメソッドを呼び出す方法が正確にわからないことに気づきました...これらのエラーが発生しています:
NewtRaphEx.java:5: class, interface, or enum expected
double f = (double);
^
NewtRaphEx.java:6: class, interface, or enum expected
double df = (double);
^
NewtRaphEx.java:39: class, interface, or enum expected
double f(double x) {
^
f メソッドと df メソッドを間違って呼び出していると思いますか? これは宿題の質問ではなく、単に私自身の練習です!
これまでの私のプログラムは次のとおりです。
/* Newton Raphson Method*/
import Scanner.java.util;
double f = (double);
double df = (double);
public class NewtRaphEx {
public static void main (String[] args) {
double xn, e_allow, fn, fnew, eps, dfn, dfnew;
int n;
int nMax = 10000;
e_allow = 0.001;
xn = 0.6;
while (eps <= e_allow || n < nMax) {
for (n = 0; n <= nMax; n++) {
fn = f(xn);
dfn = df(xn);
dx = -(fn / dfn);
xnew = xn + dx;
eps = Math.abs(dx / xn);
n = n + 1;
System.out.println("N" + "\t" + "X" + "\t" + "F(x)" + "\t" + "dF(x)" + "\t" + "delX" + "\t" + "X_new" + "\t" + "Epsilon");
System.out.println(n + "\t" + xn + "\t" + fn + "\t" + dfn + "\t" + dx + "\t" + xnew + "\t" + eps);
}
}
}
}
// Creating Function f = x - cos(3.5x)
double f(double x) {
return (x - cos(3.5 * x))
}
double df (double x) {
return (1 + sin(3.5 * x))
}