Website of Teisuke Jin Website of Teisuke Jin
Website of Teisuke Jin Website of Teisuke Jin
  • Home
  • Education
  • Books
  • Computer
  • Blog

Maxima

Maximaは無料で使える高機能な数式処理ソフト.  概要についてはWikipediaのページを参照.

インストール

ダウンロードはSourceForgeから.  Windows用, Linux用, MacOS用, およびソースが提供されている.

WindowsでwxMaximaを使う場合, コマンド(例えば plotdf(x); )を実行するには, Shift+Enterと押す必要がある.  Enterだけだと改行しかしない.  この仕様は, 編集→設定→Enterでセルを評価, で変更できる.

方向場

コ マンドは plotdf().  例えば plotdf(x+y^2); としてしばらく待つと, 方向場のグラフが表示される.  グラフ内をクリックすると解曲線が描かれる.  x, y の範囲はグラフ左上の Config の yradius, xradius 等で変更できる.

グラフを印刷するならスクリーンショットを使うのが簡単.  もちろんPostScriptを印刷できる環境があるならそれでもよい.

Picardの逐次近似法

例として \(y'=1+y^2, y(0)=0\) を近似してみる.  まず1つずつ積分するやり方.

(%i1)    y[0]:0;
(%o1)    0
(%i2)    y[1]:expand(integrate(1+y[0]^2,x,0,x));
(%o2)   x
(%i3)    y[2]:expand(integrate(1+y[1]^2,x,0,x));
(%o3)   \(\frac{x^3}{3}+x\)
(%i4)    y[3]:expand(integrate(1+y[2]^2,x,0,x));
(%o4)   \(\frac{x^7}{63}+\frac{2x^5}{15}+\frac{x^3}{3}+x\)

繰り返しを使ってまとめて計算するやり方.

(%i1)     y[0]:0;
(%o1)    0
(%i2)     for n:1 thru 7 do(y[n]:expand(integrate(1+y[n-1]^2,x,0,x)));
(%o2)    done
(%i3)     y[1];
(%o3)    x
(%i4)     y[2];
(%o4)    \(\frac{x^3}{3}+x\)
(%i5)     y[3];
(%o5)    \(\frac{x^7}{63}+\frac{2x^5}{15}+\frac{x^3}{3}+x\)

グラフを描くには次のようにする.

(%i6)     plot2d(y[3],[x,-1.5,1.5]);
(%o6)

複数の関数を1つのグラフに描くには次のようにする.

(%i7)      plot2d([y[2],y[3],tan(x)],[x,-1.5,1.5]);
(%o7)

色々な近似解を入れてみれば, 厳密解 y=tan(x) を近似してゆく様子がわかると思う.

ここで使用したコマンドは以下の通り.

  • integrate(f, x, a, b)  ---  関数 f を x について a から b まで定積分する.
  • expand(P)  ---  多項式 P を展開する.
  • for i:a thru b do(コマンド)  ---  i が a から b になるまでコマンドを繰り返す.
  • plot2d(f,[x,a,b])  ---  関数 f のグラフを, x の範囲 [a,b] で描く.

 

Main Menu

  • Home
  • Kyoto Institute of Technology
  • Kyoto Sangyo University
  • Kyoto University
  • Kyoto University of Education
  • Osaka Sangyo University
  • Setsunan University
  • Contact