課題1−3の解説 step 1. まずCプログラム sample01_FNC.c を打ち込んで、走らせて見る。コンパイルは、 gcc -lm 自分のCプログラムのファイル名 とする。「自分のCプログラムのファイル名」はなんでも良いが、".c" で終わってないと コンパイラーはコンパイルしてくれない。-lm は数学関数ライブラリーをリンクするための オプション。プログラムの2行目の、#include  で数学関数ライブラリーの ファイルを取り込んでいる。これをリンクするために -lm というオプションをつける。 数学関数ライブラリーはコサインを使うために必要になる。 -o オプションは使いたかったら使ってください。使わなかったら、Linux ではa.out という名前の実行可能ファイルができるので、これを実行する。cygwinでは a.exeという名前の実行ファイルができるはず。 step 2.  gnuplot を使って実行結果をグラフにしてみる。他のグラフやプロットを作るソフトウェアを 知ってるならそれを使っても良い。グラフの作り方の流れは大体次の通り。 step2-1. 実行結果が中に入ったデータファイルを作る。この作り方は、次の2通りある。 (1) 実行結果をファイルにリダイレクトする。つまり、step 1 で作った実行ファイルを   実行するときに、   実行ファイルの名前 > データファイルの名前   のようにする。 (2) Cプログラムの中でファイルをオープンして、その中にデータを書き込む。 (1)の簡単な方法でやって良いが、(2)の方法できちんとプログラムを書いたら 少しボーナス点がつくかもしれない。 step2-2. データファイルをgnuplotで読み込んでグラフにする。gnuplot は次のようにして使う。 bash で gnuplot 打って起動する。gnuplot のプロンプトがあらわれるので、そこで、 plot 'データファイルの名前' u 1:2 w l と打ってみる。上で、"u 1:2" は1コラム目をx軸のデータに、2コラム目をy軸のデータに 使う(using 1:2) の意味である。"w l" は、"with lines" の意味で、データ点を線で 結ぶという意味である。この代わりに "w lp" を使っても良い。これは、"with linespoints" の意味で、データ点に目印の点をつけて、かつ、線で結ぶ。 step2-3. 上のgnuplotのコマンドを実行すると結果は画面に表示される。レポートに図をつける には、グラフを画面ではなく、ファイルに適当な画像のフォーマットで出力してやる必要がある。 gnuplot で、?set terminal と打って、どのようなフォーマットの図を作れるか調べてみよ。 eps (encapuslated postscript) フォーマットで出力する方法は以下の通り。 gnuplot のプロンプトの後に set terminal postscript enhanced color set output 'filename.eps' このあと、もう一度上の plot 'データファイルの名前' u 1:2 w l のコマンドを打つとグラフが ファイルの中に出力される。eps画像は ghostview, gv, gs などのソフトで見ることができる。 わからなかったら試しにファイルをブラウザーで探し出してダブルクリックしてみても良い。 こうすると大体きれいだが、プロットの線が細かったり、目盛りの数字が小さかったりするなど、 ちょっと不満の残る図になる。これらを改良したかったらしても良い。 gnuplot については、次のウェブページがとても参考になる。 http://t16web.lanl.gov/Kawano/gnuplot/ step 3. Cプログラムの中の、function文の所のコサイン関数を課題1−3の中で挙げた他の2つの関数に 置き換えてみて、グラフが正しく描けるか確かめよ。 step 4. sample02_interpolation.c のプログラムをよく読んで理解しながら打ち込み、実行してみよう。 やり方は大体上と同じである。このプログラムは上と同じように、関数の値を打ち出すと同時に 補間多項式による近似値も出力する。これらを同じグラフの中にプロットして、補間多項式が どのぐらい元の関数と違っているか確かめよ。この違いをより定量的に調べるために、このプログラム では、関数の値と補間多項式による近似値の間の相対誤差も出力される。これのグラフも作ってみよ。 step 5. チェビシェフ多項式のゼロ点を abscissas に使う方法については説明しないので、興味のあるものは 調べてみよ。