新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

Maxima - *コンピュータ代数システム [[Maxima]] (数式処理システム)

差分表示


*コンピュータ代数システム [[Maxima]] (数式処理システム)

Maxima はコンピュータ代数システム Computer Algebra System で、
フリー(GPL)の数式処理システムです。
数式処理ソフトとしては Mathematica や Maple のほうが有名でしょう。

-Maxima, a Computer Algebra System http://maxima.sourceforge.net/ (公式サイト)
-Maxima - Wikipedia http://ja.wikipedia.org/wiki/Maxima
-Maxima による数式処理 http://phys.hirosaki-u.ac.jp/wiki.cgi/maxima (使い方の概要がまとまっています) 
-Maxima 5.22.1 Manual http://www.h3.dion.ne.jp/~y.ich/Maxima/maxima.html (日本語マニュアル)
-Maxima 普及委員会 http://www.cymric.jp/ (「ちっぷす」や「リンク集」はおすすめ)

巻島がマキシマだから Maxima を紹介というわけではありません、念のため。


**簡単な関数のグラフと極限値

例えば、&mimetex(y=x^2) のグラフを描いてみましょう。

横軸の範囲は指定しなければなりません。
変数 &mimetex(x) の範囲(定義域)を -10 〜 10 とすると、

    plot2d( x**2, [x, -10, 10] );

&mimetex(x^2) は x**2 でも x^2 でもかまいません。
wxMaxima では、[Shift] + [Enter] キーで実行されます。

縦軸の範囲を指定するときは、y オプションをつけます。

    plot2d( x**2, [x, -10, 10], [y, -1, 20] );

Windows の wxMaxima (0.8.6)、Maxima 5.22.1 を使っている場合、
gnuplot でグラフが表示されますが、gnuplot のグラフウィンドウを閉じないと
Maxima に戻らないようです。
wxMaxima に戻ると、

    plot2d: some values were clipped.

と表示されます。
範囲外のプロットが切り捨てられたということですね。

次に、反比例のグラフを描いてみます。
次に、反比例、&mimetex(y=1/x) のグラフを描いてみます。

    plot2d( 1/x, [x, -10, 10] );

gnuplot で単純に 

    plot x**2

を実行したときと異なり、&mimetex(x=0) をまたがって線が引かれることがありません。
そのかわり、gnuplot のグラフを閉じて wxMaxima に戻ったときに、

    plot2d: expression evaluates to non-numeric value somewhere in plotting range.

と表示されます。
&mimetex(x \rightarrow 0) で &mimetex(\pm \infty) ですから、
ゼロで割っている、つまり、数でない値 (NaN) になっていることを指摘してくれています。

&mimetex(x \rightarrow 0) のときの極限値を求めてみましょう。

    (%i1) limit( 1/x, x, 0, plus );
    (%o1) ∞

    (%i2) limit( 1/x, x, 0, minus );
    (%o2) -∞

    (%i3) limit( 1/x, x, 0 );
    (%o3) infinity

右から &mimetex(\infty)、左から、&mimetex(-\infty)、
指定しないと「
式の絶対値の極限は正の無限大ですが、式自体の極限は正の無限大でも負の無限大でもない時、 infinity(複素数の無限大)が返されます

(&link(Maxima 5.22.1 日本語マニュアル 18. Limits,http://www.h3.dion.ne.jp/~y.ich/Maxima/maxima_18.html#Limits))


----
(2010.10.25 - 2010.11.04)