wxMaxima覚書

wxMaximaとは?

「wxMaxima」とは、フリーの数式処理ソフト「Maxima」のGUIフロント版です。

以下のページからwxMaximaをダウンロードすることができます。


http://wxmaxima.sourceforge.net/wiki/index.php/Main_Page


Ubuntu(Linux)の場合は、以下のコマンドを打つだけでインストールできます。

sudo apt-get install wxmaxima

wxMaximaの使い方

wxMaximaを立ち上げると、こんな感じのウインドウが立ち上がります。

「INPUT:」と書いてあるボックスに数式を代入してEnterキーを押せばOKです。Windows版など、バージョンによってはCtrl+Enterキーを押す場合もありますので注意が必要です。

(%i) 1+2-3;
(%o) 0
(%i) 1/3;
(%o) 1/3
(%i) 1/3 + 2/4 + 3/5;
(%o) 43/30

1/3が「0.333...」という実数ではなく、「1/3」という有理数として扱います、このため計算誤差が非常に少なくなっています。
有理数を実数(float)に変換したい場合は「float()」、floatよりも精度が必要な場合は「bfloat()」を使います。

(%i) float(1/3);
(%o) 0.33333333333333
(%i) 1/3 + 2/4 + 3/5;
(%o) 43/30
(%i) bfloat(%);
(%o) 1.433333333333333b0

ちなみに%は、1つ前の出力値を表します。
他にもべき乗は「^」または「**」、階乗計算は「!」で表します。

(%i) 2**3;
(%o) 8
(%i) 5!;
(%o) 120

変数と関数の定義

変数は「:」、関数は「:=」で設定します。

(%i) t: 4;
(%o) 4
(%i) t*5;
(%o) 20
(%i) sig(n):= n*(n+1)/2;
(%i) sig(10);
(%o) 55

式の簡略化

式の簡略化をする場合は「ratsimp()」を使います。
自動で通分や余分な計算を省略してくれるので、非常に便利です。

(%i) (A-B)*C + B**2 + (-B-A)*C + B**2;
(%i) ratsimp(%);
(%o) 2*B**2-2*B*C

方程式を解く

方程式を解くには「solve()」を使います。
下の例では、方程式「0=(A-B)*D + C**2 + (-B-A)*C+B**2」をAについて求めた場合です。

(%i) (A-B)*D + C**2 + (-B-A)*C+B**2;
(%i) solve([%], [A]);
(%o) [A=(B*D-C^2+B*C-B^2)/(D-C)]

因数分解

因数分解は「factor()」を使います。

(%i) factor(x^2-x-6);
(%o) (x-3)*(x+2)

微分積分

微分は「diff()」、積分は「integrate()」を使います。
微分積分はよく使うので助かります。

(%i) integrate(x^2, x);
(%o) x^3/3
(%i) diff(sin(x),x);
(%o) cos(x)

順列・組み合わせ

順列・組み合わせを使うにはfunctsモジュールをロードする必要があります。
順列は「permutation(m,n)」、組み合わせは「combination(m,n)」を使います。

(%i) load(functs);
(%i) combination(5,3);
(%o) 10
(%i) permutation(10,4);
(%o) 5040