Maxima †計算結果のファイル保存/読み込み †すべて保存 save("result.max", all); loadfile("result.max"); 入力のみ保存 stringout("input.bat", input); Unix系コマンド使用 †system("cat input.bat"); texソースに変換 †tex(d1); バッチ処理 †batch("batch.bat"); カレントディレクトリ変更 †?xchdir("D:\\Temp")$ 出力順序変更 †Maxima標準だと,z^2+y^2+x^2のように我々の感覚とは逆に表示される. この出力式の変数順序を変更する. ordergreat(x,y,z); これにより,x^2+y^2+z^2のようにx,y,zの順になる. orderless(z,y,x); でも同様. 元の状態に戻したいときは, unorder(); を実行する.また,他の順番にしたいときもunorder()を実行してから再度ordergreat,orderlessを実行する. 代入・置き換え †x=3をf=x^2+y^2に代入 f:x^2+y^2; subst(3, x, f); 式の置き換えは,ratsubst(置き換える式,置き換えられる式,式)で行う. 関数定義 †f(x):=x^2+3; f(4);などとして使用する. 直前の結果から関数を定義するときは define(f(x), %o1); 展開 †expand((x+2)^5); factor(x^2+2*x+1); 係数 †有理式から変数の係数を取得する場合, func:3*x^3+2*x^2+x+1+5*y^2+4*y+3*x*y; coeff(func,x,1); /* xの係数 : 3y+1 */ coeff(func,x,2); /* x^2の係数 : 2 */ coeff(func,y,2); /* y^2の係数 : 5 */ 多項式の整理 †他変数の多項式を1つの変数について整理する. func:3*x^3+2*x^2+x+1+5*y^2+4*y+3*x*y; rat(%,x); これにより, 3*x^3+2*x^2+(3*y+1)*x+5*y^2+4*y+1 となる.rat(func,x)でもよい. 微積 †
連立方程式 †
ベクトル †
行列 †
定数 †
計算結果の表示方法 †
整数論 †
終了 †quit(); 例 †SPHのPoly6重み関数((h^2-r^2)^3)の係数を求める †W(r):=(h^2-r^2)^3; integrate( integrate( integrate( W(r)*r^2*sin(theta), r, 0, h), theta, 0, %pi), phi, 0, 2*%pi); 結果は, 9 64 %pi h --------- 315 係数はこの逆数になる(有効範囲内の体積分で割ることで∫W=1となる). 2次元では, integrate( integrate( W(r)*r, r, 0, h), theta, 0, 2*%pi); リンク † |