Maxima/具体的な使い方
Maxima > 具体的な使い方
具体的な使い方
編集ソフトの使い方
編集数式処理システムなので、 計算させる数式がないと使い道もない。 例えば、数学の教科書があれば、 計算させたい式がみつかるだろう。 もちろん夏休みの宿題も簡単だ。:-) 文章題や、読書感想文は無理だが...。
例えば、分数の足し算
1/2 + 1/3
を計算させたいとしよう。
maximaは、command lineモードと
batchモードで使うことが出来る。
長い式を書くときなどは式の書き変えができない
と書くのが大変だが、
command lineモードのmaximaでは、
実際に式の書き変えができない。
そのため多くの場合にbatchモードを
使うことになると思う。
まずcommand lineモードでは、
$maxima
と打つ。 すると、maximaが起動し
(%i1)
と表示されるので、(iはinputの略)
(%i1) 1/2 + 1/3;
とかく。 (最後の;を忘れるとあまりおもしろくないことが 起こるので注意すること!) 上手く書きこめば、
(%o1) 5 - 6
と表示される。(oはoutputの略) よって、答は5/6だと分る。
batchモードでは、まず計算させたい内容を ファイルに書き出す。 例えば、aaaというファイルを使うとする。 (Linuxは拡張子をつけないファイルを 使うことがある。実際問題として maximaは拡張子を使ってファイルを判定するのでは 無いようなので、ここでは何とつけても差し支えない。) つまり、好きなエディタを使ってaaaを編集するのである。 しかし、もちろんこのように書くのが好きな人間もいるだろう。
$cat >>aaa 1/2 + 1/3; [Ctrl-d]
何にせよaaaの用意が出来たなら、
$maxima -b aaa
と打てばよい。 結果は標準出力に表示されるだろう。 結果が長くなった場合には
$maxima -b aaa > bbb
とすると、結果の式が bbbに書きこまれるので、後からゆっくり 読むことが出来る。
初等的な数学に対する使用例
編集小学校
編集maximaは分数の足し算を行うことができる。
command: 3/5 + 1/5;
maximaは異なる分母の計算を正しく行なうことが出来る。
command: 1/5 + 1/3;
maximaは分数のかけ算を行なうことが出来る。
command: 1/5 * 2/3;
maximaは分数の割り算を行なうことが出来る。
command: 1 / (1/2); command: 1 / (2/3);
(かっこは省略できない。)
中学校
編集Maximaは正負の数が混じった四則演算を 行なうことが出来る。
command: -3 + 4; command: -3*4; command: 1*(-1)*(-1);
Maximaは文字式の四則演算を 行なうことが出来る。
command: x+x; command: x+y; command: x+3*y+4*y; command: 2*x * 3*y; command: x * 2*x; or command: x*2*x;
maximaは方程式も扱える。
command:solve([x+3=4],[x]); command:solve([2*x=1],[x]);
maximaは2元方程式も扱える。
command: solve([x+2*y = 1, 2*x+y = 3],[x,y]);
maximaは平方根の値を任意の桁まで求めることが出来る。
command:bfloat(sqrt(3));
Maximaは式の展開と因数分解を行なうことが出来る。
command:expand((a+b)*(c+d)); command:factor(a^2-b^2);
maximaは二次方程式も扱うことができる。
command:solve([x^2-1=0],[x]);
高等学校
編集maximaは複素数をサポートしている。
command: %iがiに対応する。
Note:maximaは指数eの値を知っている。 (実際には通常のコンピューターは この値を計算できるようになっているはずである。 )
command:bfloat(%e);
maximaは、微積分をサポートする。
command:diff(f(x),x); command:integrate(f(x),x); command:integrate(f(x),[x,a,b]);
note: maxima は微分法をサポートする。
command: diff(f(x)+g(x),x); command: diff(af(x),x); command: diff(f(x)*g(x),x); command: diff(1/f(x),x);
maximaは行列の演算をサポートする。
command: A:matrix([a,b],[c,d]); command: B:matrix([e,f],[g,h]); command: A + B command: A.B (行列の積) command: A^^-1 (逆行列)