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

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

演習1(オプション)

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

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

の節点

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

における補間多項式を考えます。

$n=3,5,7$ の各場合に連立一次方程式を解くことによって補間多項式の係数を求め、$0\leq x\leq 1$ の範囲で元の関数 $f(x)$ と $3$ 個の補間多項式のグラフを描画してください。

連立一次方程式を解く際には、演算子\を使用してよいです。

演習2

節点の配列nodeに対してj番目のラグランジュ基底多項式のxでの値を返す関数Lagrange(node,j,x)を定義した上で、節点

$$ x_0=0,\quad x_1=\frac{1}{4},\quad x_2=\frac{1}{2},\quad x_3=\frac{3}{4},\quad x_4=1 $$

に対する全てのラグランジュ基底多項式の $0\leq x\leq 1$ の範囲のグラフを描画してください。

なお、関数の引数であるjの範囲は、0length(node)-11length(node)のどちらで考えてもよいです。

(どうしても難しければ、関数を定義せずにグラフの描画を行ってください。)

関数の引数jの範囲を0length(node)-1として考えることにすると、コードは次のようになる。

演習3

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

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

の節点

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

における補間多項式を考えます。

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