Tips-maxima
Maxima
octaveの場合には Tips-octave
インストール
zypper install maxima
http://maxima.sourceforge.net/download.html ## https://sourceforge.net/projects/maxima/files/Maxima-Linux/ # https://sourceforge.net/p/maxima/code/ci/master/tree/ # ./bootstrap ##### ./configure --prefix$HOME/opt/maxima/ # ./configure --prefix=$HOME/opt/maxima/ --enable-sbcl-exec # LANG=C make # LANG=C make check # make install
起動
CLI の場合 > maxima ( GUI の場合 > wxmaxima ( 行末は shit+enter_key ) Batch > maxima -b test.m
使い方
式(コマンド(命令))+;(セミコロン)+[Enter](もしくはshit+enterr)
終了は quit() ;
CPUの使用時間は showtime:true;
四則演算
+ - * / ただし(割算の場合) (%i2) 33/4; 33 (%o2) -- 4 のようになる 数値がほしい場合には (%i3) float(%); (%o3) 8.25 とする また (%i4) 22/4; 11 (%o4) -- 2 通分が必要な婆には通分も行う 割算 (%i1) divide(253,17); (%o1) [14,15] 商 (%i2) quotient(253,17); (%o2) 14 余 (%i3) mod(253,17); (%o3) 15
特殊記号
% 直前の結果( 上記の場合 11/2 ) ; 式の終了(結果を表示する) $ 式の終了 (結果を表示しない) : 値の代入 ( x:3; x に 3 を代入 ) := 式の定義 ( f(x):=x^2-x+1; ) 定数を作る(例えば a を 1200 とか代入する場合) : 使用例 a:1200 := 使用例 a(x):=1200+x
定数(一部)
%pi 円周率π %e 自然対数のe %i 虚数のi inf +∞ minf -∞
良く使う変数(一部)
小数点表示(実数表示) float() 3/4; float(3/4);
平方根 sqrt 平方根 sqrt(3);
極限 lim (%i6) limit(1/x,x,inf); (%o6) 0 (%i7) limit(1/x,x,minf); (%o7) 0
三角関数 (%i8) sin(%pi); (%o8) 0 (%i9) cos(%pi); (%o9) - 1
自然対数 (%i10) log(%e); (%o10) 1 常用対数の場合は ( log(10) で割る)
方程式を解く solve(式,変数); (%i11) solve(x^2-x+1=0,x); sqrt(3) %i - 1 sqrt(3) %i + 1 (%o11) [x = - --------------, x = --------------] 2 2 ## sqrt(3) は √3 ## %i は虚数のi ## つまり sqrt(3) %i は √3i の意味
微分 diff( 1/x, x );
積分 integrate(1/x, x);
因数分解 factor( 式 );
最大公倍数 (%i1) f(x):=7*x+10; (%o1) f(x) := 7 x + 10 (%i2) g(x):=2*x+3 ; (%o2) g(x) := 2 x + 3 (%i3) gcd(f(x),g(x)); (%o3) 1
最小公約数 (%i5) lcm(51,85); (%o5) 255
シグマ(総和) sum(k, k, 1, n),simpsum; sum(j^2, j, 1, n),simpsum; sum(m*(m+1), m, 1, n),simpsum; https://www.geisya.or.jp/~mwm48961/linear_algebra/maxima12.htm
式を展開 expand( 式 ); 通分 ratexpand(式); (%i3) 1/(z^2/a^2+y^2/b^2); 1 (%o3) ------- 2 2 z y -- + -- 2 2 a b (%i4) ratexpand(1/(z^2/a^2+y^2/b^2)); 2 2 a b (%o4) ------------- 2 2 2 2 b z + a y
グラフの表示
plot2d ( sin(x), [0,2*%pi] ) ;
変数の値の消去
a:10$a; remvalue(a)$a;
値をすべて消去するには remvalue(all); とします。 また、変数ごと消すには kill(変数) とします。 変数をすべて消去するには kill(all); とします。
例
f(x)=x^3-3x の極値を求める
式を微分
(%i1) diff(x^3-3*x); 2 (%o1) (3 x - 3) del(x)
微分の結果を解く
(%i2) solve(3*x^2-3,x); (%o2) [x = - 1, x = 1]
結果の確認(傾き0であることを確認)
(%i3) f(x):=3*x^2-3; 2 (%o3) f(x) := 3 x - 3 (%i4) x:1; (%o4) 1 (%i5) f(x); (%o5) 0
結果を求める
(%i6) f(x):=x^3-3*x; 3 (%o6) f(x) := x - 3 x (%i7) f(x); (%o7) - 2 (%i8) x:-1; (%o8) - 1 (%i9) f(x); (%o9) 2
よって
x=1 ,y=-2 x=-1,y=2
が求まる
例2
10^(0.75) を求める
連立方程式をもとめる
Vector
微分する
行列
ベクトル
appendix
- http://maxima.zuisei.net/
- http://edu.isc.chubu.ac.jp/hsuzuki/iip/maxima/maxima1.html
- https://ja.wikipedia.org/wiki/Maxima
- http://maxima.combinators.net/gamen.html
- https://pianofisica.hatenablog.com/entry/2019/05/19/063057#%E5%B9%B3%E5%9D%87%E5%88%86%E6%95%A3%E6%A8%99%E6%BA%96%E5%81%8F%E5%B7%AE
- http://maxima.combinators.net/equation.html