近似の良さは,もとの関数と,フーリエ級数で作った関数が どのくらい類似しているか,距離を計ればわかる. ヒント: 「関数をベクトルとして見る」
例によって,#より後ろはコメントなので入力する必要はない
% octave #octave を起動 octave:1> t = 0: 0.1 : 31.4; # 横軸(時間軸)の作成. 0 から 31.4 で 0.1 きざみ. octave:2> y0 = pi/2*cos(0*t); # 定数ベクトルをつくった(あまり深く考えなくてもいい). octave:3> plot(t,y0); # 横軸が t で縦軸が y octave:4> y1 = pi/2 - 4/pi*cos(t) ; octave:5> y2 = pi/2 - 4/pi*( cos(t) + 1/9*cos(3*t) ); octave:6> y3 = pi/2 - 4/pi*( cos(t) + 1/9*cos(3*t) + 1/25*cos(5*t) );
octave:7> plot(t,y0, t, y1, t,y2, t,y3);
octave:8> plot(t,y0); octave:9> hold on octave:10> plot(t,y1); octave:11> plot(t,y2);
t = (0:0.01:31.415);
y = pi/2*cos(0*t);
axis ([0, 32, -0.5, 3.5]); # x軸が 0から32 , y軸が -0.5:3.5の範囲を表示
for n = 1:10
y = y - 4/pi/(2*n-1)/(2*n-1)*cos( (2*n-1)*t );
plot (t, y );
hold on;
input ("Press Return");
endfor
それぞれのコマンドは容易に推測できる.
書き方の詳細は異なるけれど C 言語に慣れている人に
とっては for 文が何を意味しているか分かるはず.
% octave foo201.octとして走らせる. 作ったファイルが再利用できてとても便利.
__gnuplot_set__ term postscript
__gnuplot_set__ output "hoge202.eps"
t = (0:0.01:31.415);
y = pi/2*cos(0*t);
axis ([0, 8, -0.5, 3.5]); # x軸が0:32 , y軸が -0.5:3.5 の範囲を表示
for n = 1:10
y = y - 4/pi/(2*n-1)/(2*n-1)*cos( (2*n-1)*t );
plot (t, y );
hold on;
endfor
これは10ページからなるファイルができあがるので,
ggv コマンドで必要なところだけ,抜き出して
ファイルに保存して使えばよい.
% ggv hoge.eps # グラフを見る
octave:12> help axis
描いた図のファイルを作成
正確には,既に描いた図のファイルを作成することはできない. これから plot する図のファイルを作成することはできる.
これから作成する図の出力先を画面上にするか,ファイルにするか,あらかじめ設定しておく .
以下のコマンド(__gnuplot_set__ term)は2連続のアンダーバー(__)が含まれ ており,見た目では分かりにくい. うまく動作しなければ, このページに書かれてある文字をコピーして張り付ければよい.
octave:6> __gnuplot_set__ term postscript # 表示をpostscriptに設定.
octave:7> __gnuplot_set__ output "hoge.eps" # 出力ファイル名を設定.
octave:8> plot(t,y) ; # eps ファイルを作成したい図をここでプロットする.
octave:9> __gnuplot_set__ term X11 # 他の作業を続ける場合. plot した結果が
# 画面に出力されるよう設定をもとに戻す
octave:100> exit # octave の終了
octave:4> help plot