数式処理

「数式処理」の編集履歴(バックアップ)一覧に戻る

数式処理 - (2019/12/30 (月) 23:23:53) のソース

数式処理ソフト(非クラウド)

*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])
gnuplot で扱えるデータを出力 オプション [plot format,gnuplot] 現在のディレクトリにmaxout.gnuplot 。gnuplotでload
 plot2dならload ’maxout.gnuplot’
 plot3dならset hidden3d load ’maxout.gnuplot’ unset hidden3d

プログラミング
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でノートブックへ
画像の保存 wxMaxima で save as EMFで
プログラムの作成と読込み 「ファイル」→「パッケージ読込み」

*Sage

*Euler

*gnuTEXmacs
内部的にはxmlの一種の形式で管理。
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。