数式処理ソフト(非クラウド) *Maxima 式の末端 ; (semicolon) 式の評価(処理) Shift+Enter ヒストリ outputの~ %o2など、直前の処理結果 % 式の展開 expand( ) 因数分解 factor( ) 基本関数 sqrt, log, exp, sin, cos, tan, abs, mod(x, p)=x &italic(){mod} p 重要定数 %pi, %e, %i(虚数) 数値計算 数値表示:bloat、桁数指定 fepprec:n 変数の値の設定 a:20 関数の定義 f(x) :=3x^2+1 変数、関数の解除 kill(a,f) kill(all) 総和 sum(f(k),k,i,n) 総和の一般化の例 sum(k*d,k,i,n),simpsum=true 微分・積分 diff( f(x) , x ) integrate( f(x) , x ) Talyor展開 taylor(f(x), x, a, 5) 極限 limit(f(x), x, inf) x→\infty, limit(f(x), x, 1, minus) マイナス方向から近づく 代数方程式の解 solve(f(x), x) 連立放置式の解 1次 linsolve([f(x,y)=a, g(x,y)=b], [x,y]) 高次 algsys([f(x,y)=1, g(x)=-1], [x,y]); 微分方式の解 desolve( diff(f(x),x)=f(x), f(x) ) ラプラス変換で解く, ode2(2階までの常微分方程式) 差分方程式 solve_rec 行列 m1: matrix( [1,3,0], [0,10,0], [13,0,17] ); 行列の転置 transpose、行列の積 m1.m2(ドット) 行列式 determinant(m1)、逆行列 invert(m1) 行列の固有値 eigenvalues (出力:固有値リスト、重複度リスト) 行列の固有ベクトル eigenvectors(出力:固有値リスト、重複度リスト、固有値ベクトルのリストのリスト) 余因子行列 adjoint グラフ 2次元 plot2d(f(x),[x,-4,4]) plot2d(sin(x),[x,-20,20],[y,-2,2]) 同時描画 plot2d([sin(x),cos(x),exp(x/10)],[x,-10,10],[y,-2,3]) 座標リスト plot2d([discrete,p],.....)(p 座標リスト) 3次元 plot3d(cos(sqrt(x^2+y^2)),[x,-4,4],[y,-4,4]) メッシュ数 plot3d(.....,[grid,100,100]) 画像の保存 wxMaxima で save as EMFで プログラミング f(n) := if n=0 then 1 else if n=1 then 1 else f(n-1)+f(n-2); 手続き(式を順番に実施) block([c:0],print(c),c:c+1,print(c),c:c+1,print(c)); 繰り返し for 制御変数:初期値 step 増分 thru 終値 do 式 for c:0 step 1 thru 5 do print(c) for 制御変数:初期値 step 増分 while 条件式 do 式 for c:0 step 1 while c < 5 doprint(c) for 制御変数 in [リスト] do式 for c in [v,w,x,y,z] do print(c) リスト処理 L[n] for c:1 step 1 thru 4 do print([s,t,u,v][c]) リストLの先頭に要素aを追加 cons(a,L) 要素dをリストLの末尾に追加 endcons(d,L) リストLの先頭の要素 first(L) リストLの先頭の要素を取り除いたリスト rest(L) リストLの末尾の要素 last(L) リストL1とL2を連結 append(L1,L2) リストLの長さ length(L) 空リストの判定 emptyp(L) MaximaからLIspへ移行 to lisp(); LispからMaxmiaへ (to-maxima) **WxMaxima 式の末端 特に必要としない ノートブック Tex出力可 wxplot2dでノートブックへ プログラムの作成と読込み 「ファイル」→「パッケージ読込み」 *Sage *Euler *gnuTEXmacs