*概要 [#h505b21c] -数式変形ツール -[[参考>http://www.cc.kyoto-su.ac.jp/~mtkg/lecture/comp_A/2014/14.html]] -[[微分方程式系参考>http://ynomura.dip.jp/archives/2008/08/maxima_1.html]], [[ode2参考>http://d.hatena.ne.jp/jurupapa/20110605/1307252423]] -[[よくある疑問>http://www.cymric.jp/maxima/tips.html]] *疑問 [#wc19b32e] -=と:=と:の違いは? -x=b+a, y=2aをいい感じに行列表記にしてくれる方法はないの? *いろいろ詰まったサンプル [#vfcb2dee] /*Rotate A*/ A : matrix([-0.0703557, 0.993238 ,-0.0923413], [ 0.996815 ,0.0665199 ,-0.043984], [ -0.0375441 ,-0.0951417 , -0.994756]); X:matrix([1, 0, 0],[0, cos(x), -sin(x)], [0, sin(x), cos(x)]); A.X ev(A.X, x = %pi/10) float(ev(A.X, x = %pi/10)); quit(); *文法 [#lbfb3155] -コメントアウトは/**/ -終端は;か$($が表示抑制) -Maxima は大文字,小文字. を区別しない. -C言語で言うincludeは、batch("matrix_sample.max");で可能 **行列 [#p98ca0a2] |コマンド|機能|h |[1,2,3]|横ベクトル| |A[2,3] : x;|成分操作| |matrix([1, 2, 3], [2, 4, 5])|行列。横行列を複数指定した分、縦に連結した行列| |zeromatrix(m, n)|零行列| |ident(n)|n次単位行列| |columnvector([1, 2, 3])|縦行列| |diag([1,2,3])|対角行列.load("diag");が必要| |transpose(A)|転置| **変数 [#za312119] |以前の実行結果|%| |円周率π|%pi| |自然対数の底e|%e| |虚数単位i|%i| **基本操作 [#e3ffd1b9] |記号|効果|h |A;|表示| |A:B;|代入| |A.B|行列演算| |A*b|行列A*ベクトルbの演算| |A^^n|n乗| |A^3|要素n乗| |Aˆˆ(-1); or invert(A);|逆行列| |n*(n+1)/2, n=10;|式に一時的に値を代入可能| |f(x) := x^2 + 2*x + 1;, h(x) := if x < 0 then 0 elseif x = 0 then 1/2 else 1;|関数定義(二次関数とヘヴィサイド関数)| **関数 [#l23a8e52] |sum(一般項, 添字変数, 下限, 上限); product(式, 添字, 下限, 上限);|ΣとΠ| |radcan(%)|ルートが入った式の整理| |allroots(x^2 = 4);, find_root(x^2-x-2, x, 0, 5);|近似解| |expand((x+y)^4);, factor(%);|因数展開、因数分解| |partfrac(x/(x+1), x);, ratsimp(%);|部分分数分解、部分分数展開| |solve([y=x^2, y=x+2], [x, y]);|厳密解| |diff(x^x, x);, integrate(x, x);|微分積分| |limit(sin(x)/x, x, 0);|極限| |taylor(sin(x), x, 0, 5);|テイラー展開(0周りで5似まで展開)| **solve文詳細 [#f8b09159] eq1 : a*x + b*y = e; eq2 : c*x + d*y = f; solve([eq1, eq2], [x, y]); *描画 [#b6ddd424] -[[すごくいい描画の例>http://kn-makkun.com/MakkunWp/maxima.html#Kangaeru2]] -陰関数を扱うときは,load(draw);が必須 load(draw); draw3d([implicit(x^2+y^2+z^2=0.5,x,-1,1,y,-1,1,z,-1,1)], [color=red,implicit(x^2+y^2+z^2=1,x,-1,1,y,-1,1,z,-1,1)]); *キー待ち [#i85fc147] -pauseの代わりは readline(?\*standard\-input\*); *tex出力 [#i0022cff] -http://maxima.sourceforge.net/docs/manual/maxima_13.html#SEC73 |