!! 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 の意味 Tips-maxima-diff 微分 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) を求める !連立方程式をもとめる *(tips-maxima-ren) !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