Maxima (+gnuplot) を使ってみよう
Exploring Mathematics with Maxima and gnuplot

ここでは,数式処理システムMaxima(とグラフ作成ソフトgnuplot)について簡単に説明します.

Maxima について / 例:テイラー展開 / 例:2変数関数のグラフ
Maxima とは

Maxima とは,数式処理ソフトの一種です.つまり,数値の計算だけでなく,数式自体を扱う計算やグラフの描画など数学に関わる様々なことをコンピュータを用いて計算・処理することができます.このソフトはいわゆるフリーソフトなので,誰でも無料で使用することができます(公式サイト).
gnuplot とは,フリーのグラフ作成ソフトです.Maxima にはグラフ作成に関するコマンド(plot2d, plot3d など)が用意されてますが,実際にグラフを描画しているのはこの gnuplot です(公式サイト).

Maxima のインストールと起動

Maximaにはいくつかの種類があります.核の部分(計算するエンジン部分?)は同じですが,外観(インターフェイス)が異なります.ここでは私が一番使いやすくて導入しやすいと感じている「wxMaxima」のインストール方法を紹介します(注意 : Windows版のインストール方法の記述に間違いがありましたので訂正しました).

 Windows の場合
  1. ここのDownloadページから wxMaxima の最新版(2008.6.4現在,wxMaxima-0.7.5.exe)をダウンロードする.
    ここのDownloadページから Maxima の最新版(2008.6.5現在,maxima-5.15.0.exe)をダウンロードする.
  2. ダウンロードした実行ファイルを実行し,ウィザードにしたがってインストールする.
  3. 起動するには,「スタート」→「プログラム」→「maxima-(バージョン番号)」を開いて,wxMaximaをクリック.
 Mac OS X (Intel CPU) の場合
  1. X11をインストールする(OSのインストールディスクに収録されてます).
  2. ここから使用しているOS (Tiger, Leopard) 用のwxMaximaとgnuplotのバイナリパッケージを適当な場所にダウンロードする.
  3. ダウンロードしたファイルをダブルクリックして解凍する.
  4. 解凍してできたファイル(wxMaxima.app と gnuplot.app)をアプリケーションフォルダに移動.
  5. 実行するには,X11をあらかじめ実行して上で,wxMaxima.appをダブルクリックして起動(LeopardのX11は,必要なときに自動的に起動するようになっています).
 Mac OS X (PPC) の場合 : Finkを用いてインストールすることができます.

 Linux の場合
  • Maximaは元々Unix用のソフトなので,Linuxでももちろん利用可能です.
  • ディストリビューションによってはパッケージが用意されているものもあります.

参考文献・サイト

Maximaを使用する上で参考になる情報をいくつか挙げます.この他にもweb上には有益な情報がたくさんあります.googleなどで検索してみてください.


1: テイラー展開

2008年6月4日の微積分I演習の授業で,sin xlog(x+1) のテイラー級数がどのように収束していくのか実験してみました.
(キーワード:テイラー展開,テイラー級数,収束半径)


使用したコマンド
  • plot2d : 一変数関数の平面グラフを描く.
    例: y=sin x のグラフを x を 0 から 2πの範囲で描く.

    (%i1) plot2d(sin(x),[x,0,2*%pi])
  • taylor : テイラー級数の計算
    例: 関数 f(x)=log(x+1)x=0 でテイラー展開し,5次の項まで出力する.

    (%i2) taylor(log(x+1), x, 0, 5)

課題  f(x)=log(x+1)x=0 以外の点に関してテイラー展開したとき,その収束半径はどうなるか?



2: 2変数関数のグラフ

2008年9月10日の微積分II演習の授業で,2変数関数の微分(偏微分と全微分)について解説しました.全微分不可能な関数の例として,課題で出てくる2変数関数のグラフを描いてみました.


使用したコマンド
  • plot3d : 2変数関数のグラフを描画する.

    (%i1) f(x,y):=x*abs(y)/sqrt(x^2+y^2)


    (%i2) plot3d(f(x,y),[x,-1,1],[y,-1,1])

    (%i3) plot3d(f(x,y),[x,-1,1],[y,-1,1], [gnuplot_pm3d,true])

    戻る Back