ラグランジュ補間式に

ラグランジュ差分方程式:

ラグランジュ補間

数値解析では、ラグランジュ補間は、名前の多項式差分法第十八世紀のフランスの数学者ジョセフ・ラグランジュです。 - Baiduの百科事典
 
なぜそれを勉強?
大井では、次のことができます 散水 この質問を。

 

日常生活の後、機械にプログラミングの過程で私たちの一部は、いくつかのモデルの機能が正確に表現(例えば、実際の代数や機械などのSiNxデータを機能をシミュレートすることができない、これを経験するかもしれません関数は本当に正確な値を求める混乱する方法。)、のSiNx非常に抽象的、しかし、我々はより多くのSiNx上の点よりも多くを取ることができますので、それは多項式で近似することができます。そして、多項式データは、その正確な関数値が得られるにすることができます。

もし部品を機械加工波プロファイル膜(SiNx)を使用する場合は、機械加工された表面波を平滑よう、その形状の多項式にラグランジュ多項式近似により得ることができます。

アプリケーションの他の側面においても、非常に広いです。

学習を開始:

周知であり、nは、二次元座標系上の異なる点は、最高度の多項式N-1について決定することができます。

いくつかの質問には、必要とするか、または類似の知識を必要とします。

ラグランジュ補間式を導入します。

ラグランジュ補間式は、多項式の係数を求めるあなたはO(N ^ 2)に従ってポイント与えることです。

ポイントを持参によると、私たちは、このような計画を取得することができます:

各点「電荷」部分多項式、横軸XIの点に持ち込まN部品の多項式は、他の部分はこれは(X-XI)であるため、0の値ように、最後の式一部XI、式中、「電荷」これはYIのこの値(XI、YI)の一部を行いませんので。

この原理によれば、横軸のすべての点に縦に満たされている我々は、多項式を発見し、それに対応する値に等しいです。

F(XK)は、xのk番目の値の部分は、それに対応するときに撮影した値を表します。

(ソースluogu)

xの値が外部XIを丸めたときに、それが知覚することができ、KX [J]が0いずれかを有し、そして次いで全体部分について行かなければなりません。

 

 xは、一緒にこれらの部分以外の値をとるときもちろん、すべての役割を果たしてではなく、行く程度。

その高度について:

Xは、ラグランジュ継続時間の値があってもO(n)の溶液の形態によって最適化することができる有します。ここでは、もはや綿密な話ではない研究者が実際に深く自分自身の学習上の他のdalaoブログを閲覧することができます。

ラグランジュ補間例のP4781:

裸基板上の問題、O(N ^ 2)を解決します。

コード:

書式#include <cstdioを> 
する#include <CStringの> 
の#include <iostreamの>
 使用して 名前空間をSTD。
#define MODD 998244353
 の#define LL長い長
 の#define MAXN 2345 
LL N、K、X [MAXN]、Y [MAXN]、Z、M、ANS。
READ()っ
{ 
    INT ANS = 0 チャー CH = GETCHAR()、最後= '  ' ;
    一方、(CH < ' 0 ' || CH> ' 9 ')最後= CH、CH = GETCHAR()。
    しばらく(CH> = ' 0 ' &&' 9 ')ANS =(ANS << 3)+(ANS << 1)+ CH- ' 0 '、CH = GETCHAR()。
    戻る最後== ' - '? - ANS:ANSを。
} 
(-1,11,11- B)をqpowちゃう
{ 
    LL再 = 1 一方、(b)は、
    { 
        もし、(B%2)再=(RE *)%MODD。=(*)%のMODD。
        B >> = 1 
    } 
    戻り再。
} 
int型のmain()
{
    N = read()は、K = ()を読み取ります。
    以下のためにINT iが= 1 ; I <= N; I ++ 
        X [i]は = read()は、Y [I] = )(読み取ります。
    以下のためにINT iが= 1 ; I <= N; I ++ 
    { 
        Z = Y [i]は、M = 1 INT J = 1 ; J <= nであり、j ++ 
        { 
            場合(I == j)を続けます
            Z =(Z×(KX [J])%MODD + MODD)%MODD。
            M =(M×(X [I] -x [J])%MODD + MODD)%MODD。
        } 
        アンス =(Z * qpow ANS +(M、modd- 2)%+モードモード)%のモード。
    } 
    のprintf(" %のLLD \ n " 、ANS)。
    リターン 0 ; 
}

終わり。あなたが学ぶのを助けることを願っています。

おすすめ

転載: www.cnblogs.com/lbssxz/p/12079359.html