0

MATLAB でラグランジュ反復を実装する必要があります。

私は(私が思うに)それがどのように機能するかを理解しました。x の実装方法がわかりません。

これらのポイントを計算したいとしましょう: (0,1) (1,1) (2,4)

だから私はこれらを行う必要があります:

l_0(x) = (x-1)(x-2)/(0-1)(0-2)
l_1(x) = (x-0)(x-2)/(1-0)(1-2)
l_2(x) = (x-0)(x-1)/(2-0)(2-1)

等々...

したがって、(x,y) ポイントを受け取り、結果の多項式の係数を取得する MATLAB 関数を実行したいと考えています。

この場合: ( 3/2, 3/2, 1 )

回答のコードは必要ありません-上記の x バリアントを実装する方法だけです。

ありがとう

4

2 に答える 2

1

これが必要かどうかはわかりませんが、探しているのはMATLAB 匿名関数だと思います

あなたの場合、あなたは書くでしょう

l_0 = @(x) (x-1)(x-2)/(0-1)(0-2)
l_1 = @(x) (x-0)(x-2)/(1-0)(1-2)
l_2 = @(x) (x-0)(x-1)/(2-0)(2-1)

次に、通常の関数のようにラグランジュ多項式を使用できます。

val = y0 * l_0(x0) + y1 * l_1(x1) + y2 * l_2(x2)

それはあなたが探していたものですか?

于 2013-06-14T14:27:15.813 に答える
0

コードが必要ない場合、x は単純に x ポイントの入力値の範囲内の任意の値です。あなたの場合、0から2の間の任意の値。

于 2013-06-14T14:28:07.497 に答える