2017-02-26 20 views
-1

私は二分法を実装しています。最初のステップとして、多項式関数を評価する必要がありますが、正しい結果を得られません。使用二項法:多項式関数を評価する

多項式がx=23(x^2)+7(x)+1
で、結果は上記のアルゴリズムで間違って何27

public static double evaluaFx(int []coef, int grade, int x) { 
    //int x viene siendo los x0,xf.xmenter code here 
    double Fx=0; 
    //System.out.println("grade"+grade+"x"+x); 
    //for (int i = grade; i >=0; i--) { 
    // System.out.println(coef[i]); 
    //} 
    for (int i = grade; i>=0; i--) { 
     Fx= Math.pow((coef[i]*x), grade); 
     // System.out.println(Fx+"mas"+"("+coef[i]+x+") a la grado"+grade); 
    } 
    return Fx; 
} 

すべきですか?

+1

あなたは引数と予想される出力を追加することができます(+ =代わりに=は注意してください)のような何かを行う必要がありますか? –

+0

f(x)= 27の次の多項式f(x)= 3x^2 + 7x + 1を使用しました。 –

+0

リファイニングとフォーメーション –

答えて

1

いくつかのものは、あなたのアルゴリズムで間違っている:1学年(ステップi)について

式は次のようになります。

ループのためにあなたが失う、連続グレードの計算を追加しないで次に
// for instance, if i=2, you want 3 * x^2 which translate to 
Fx = coef[i]*Math.pow(x, i); 

各ステップで以前の結果を表示します。あなたは

Fx += coef[i]*Math.pow(x, i);