数値計算の結果をプロットする(1)
まずは次の簡単な関数を数値計算で解いてみましょう。ここではC言語を用います。
![]()
ただし求めるxの範囲は -10 <= x <= 10とし,xが0.1増加するごとにf(x)の値を求めるようにします。
以下がそのプログラムです。
/* Numeral Computing with gnuplot: 1 */
#include <stdio.h>
int main(void);
int main(void) {
int n; /* ステップ数 */
double x; /* ステップ n における x の値 */
double y; /* x における y の値 */
for (n=-100; n<=100; n++) {
x = (double)n / 10;
y = (x*x*x)/2 - x*x + 20*x;
printf("%f %f\n", x, y);
}
return 0;
}
このCソースコードをコンパイルして,実行結果をnc1.pltに出力します。
% gcc -o nc1 nc1.c % ./nc1 > nc1.plt
nc1.pltの中身は,次のようなデータが201行並んでいます。
-10.000000 -800.000000 -9.900000 -781.159500 -9.800000 -762.636000 -9.700000 -744.426500 -9.600000 -726.528000 (以下略)
それではgnuplotでデータをプロットしてみましょう。
# 結果 gnuplot> cd 'd:\tmp' # nc1.pltがあるディレクトリに移動(各自適当に) gnuplot> plot 'nc1.plt' w l
この他,with dotsでプロットしてみたり,gnuplotの描画機能でf(x)を重ねて描いてみましょう。
$Id: numeric_computing1.shtml 1289 2007-02-04 13:22:39Z SYSTEM $