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)]
微分・積分
微分は「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