プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

ラグランジュ補間


指定されたデータポイントの離散セットの範囲内に新しいデータポイントを構築するために、内挿法が使用されます。ラグランジュ補間手法はその1つです。与えられたデータポイントが均等に分散されていない場合、この内挿法を使用して解を見つけることができます。ラグランジュ補間の場合、この方程式に従う必要があります。

ラグランジュ補間


入力と出力

Input:
List of x and f(x) values. find f(3.25)
x: {0,1,2,3,4,5,6}
f(x): {0,1,8,27,64,125,216}
Output:
Result after Lagrange interpolation f(3.25) = 34.3281

アルゴリズム

largrangeInterpolation(x: array, fx: array, x1)

入力- 既知のデータを取得するためのx配列とfx配列、およびポイントx1。

出力: f(x1)の値。

Begin
   res := 0 and tempSum := 0
   for i := 1 to n, do
      tempProd := 1
      for j := 1 to n, do
         if i ≠ j, then
            tempProf := tempProd * (x1 – x[j])/(x[i] – x[j])
      done

      tempPord := tempProd * fx[i]
      res := res + tempProd
   done
   return res
End

#include<iostream>
#define N 6
using namespace std;

double lagrange(double x[], double fx[], double x1) {
   double res = 0, tempSum = 0;

   for(int i = 1; i<=N; i++) {
      double tempProd = 1;         //for each iteration initialize temp product
      for(int j = 1; j<=N; j++) {
         if(i != j) {                 //if i = j, then denominator will be 0
            tempProd *= (x1 - x[j])/(x[i] - x[j]);     //multiply each term using formula
         }
      }
      tempProd *= fx[i];                //multiply f(xi)
      res += tempProd;
   }
   return res;
}

main() {
   double x[N+1] = {0,1,2,3,4,5,6};
   double y[N+1] = {0,1,8,27,64,125,216};
   double x1 = 3.25;
   cout << "Result after lagrange interpolation f("<<x1<<") = " << lagrange(x, y, x1);
}

出力

Result after lagrange interpolation f(3.25) = 34.3281

  1. PythonPandas-補間法を使用してNaN値を入力します

    Interpolate()メソッドを使用して、NaN値を入力します。以下が、いくつかのNaN値を使用してMicrosoftExcelで開いたCSVファイルであるとしましょう- CSVファイルからPandasDataFrameにデータをロードする- dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv") NaN値をinterpolate()-で埋めます dataFrame.interpolate() 例 以下はコードです- import pandas as pd # Load dat

  2. pcolormesh(Matplotlib)を使用するときにスムーズな補間を取得するにはどうすればよいですか?

    pcolormeshを使用するときにスムーズな補間を行うために、 Shading =gouraudを使用できます。 名前によるクラス。 ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 numpy meshgridを使用してデータxとyを作成します 。 pcolormesh()を使用して、不規則な長方形グリッドで疑似カラープロットを作成します メソッド。 図を表示するには、 show()を使用します メソッド。 例 import matplotlib.pylab as plt import numpy as np