2022年度プログラミング演習A・B

第14回レポート課題の解説

演習1

連立一次方程式を解くことによって、関数

$$ f(x)=e^x $$

の節点

$$ x_0=0,\quad x_1=1 $$

におけるエルミート補間多項式を求め、$-2\leq x\leq 3$ の範囲で元の関数 $f(x)$ とエルミート補間多項式のグラフを描画してください。

なお、連立一次方程式を解く際には演算子\を使用し、

$$ f'(x)=e^x $$

は既知のこととしてよいです。

(別解)

演習2

エルミート基底多項式を用いることによって、関数

$$ f(x)=e^x $$

の節点

$$ x_0=0,\quad x_1=1 $$

におけるエルミート補間多項式を求め、$-2\leq x\leq 3$ の範囲で元の関数 $f(x)$ とエルミート補間多項式のグラフを描画してください。

なお、

$$ f'(x)=e^x $$

は既知のこととしてよいです。

(別解)

ラグランジュ基底多項式

$$ L_j(x)=\prod_{k=0\\ k\neq j}^n\frac{x-x_k}{x_j-x_k}\quad (j=0,\ldots,n) $$

の微分が

$$ L_j'(x)=L_j(x)\sum_{k=0\\ k\neq j}^n\frac{1}{x-x_k}\quad (j=0,\ldots,n) $$

と表されること(対数微分により導出可能)を用いれば、エルミート基底多項式

$$ H_j(x)=\left(1-2L_j'(x_j)(x-x_j)\right)\left(L_j(x)\right)^2\quad (j=0,\ldots,n), $$$$ K_j(x)=(x-x_j)\left(L_j(x)\right)^2\quad (j=0,\ldots,n) $$

を一般の場合にも計算できる。

演習3(オプション)

$n$ を自然数とし、関数

$$ f(x)=\sin\left(2\pi x^2\right) $$

と節点

$$ x_i=\frac{i}{2n}\quad (i=0,\ldots,2n) $$

に対して三角関数による補間を考えます。

$n=1,2,3$ の各場合に補間関数を求め、$0\leq x\leq 1$ の範囲で元の関数 $f(x)$ と $3$ 個の補間関数のグラフを描画してください。