這是Maxima的軟件使用方法的一個簡單筆記。Maxima是一個計算機代數計算系統(tǒng)。Maxima可以用于公式推導、符號計算、數值計算等。它是一套自由軟件,在GNU通用公共許可證下發(fā)行。
? real 精確查找?guī)椭?/p>
?? real 模糊查找?guī)椭?/p>
example(realpart) 查看命令案例
數據類型:整數、有理數、float bfloat
% 表示最后一次運算結果
初等數學
+ - * / ^ ! 算術運算
sin() cos() tan() cot() sec csc()
sinh() cosh() tanh() coth() sech csch()
asin() acos() atan() acot() asec() acsc()
asinh() acosh() atanh acoth() asech() acsch()
log()
常數:%e %i %pi inf minf infinity 復數無窮
f(x,y) := sin(x)+cos(x); 自定義函數
sum(expr,i,m,n); 求和,sum(),simpsum;
product(expr,i,m,n); 累積 product(),simpproduct;
expand(%); 多項式展開,pactor(%); 因式分解
subst(1/a,x,%); 等量代換
ratsimp(%); 分式化簡,radcan(%); 對數、根式化簡
assume(x<0); 假設,facts(); 查看假設
forget(x<0); 取消假設
trigexpand 和差化積 trigreduce 積化和差
trigsimp 用1化簡 trigrat 簡化分數形式
solve(eq,x); 解方程 eq:x+1=0;
solve([eq1,eq2],[x,y]); 解方程組
allroots(eq); 數值解 realroots(eq); 實數數值解
z:5+3*%i; realpart(z); imagpart(z); 復數
conjugate(z); 復共軛 abs(z); 模 carg(z); 幅角
rectform polarform 復數直角、極坐標形式
矩陣
entermatrix(m,n); 交互式輸入矩陣
matrix([1,2,3],[4,5,6]); 輸入矩陣
a[i,j]:=i+j; genmatrix(a,m,n); 生成矩陣
diagmatrix(n,x); 生成對角矩陣
ematrix(m,n,x,i,j); 生成單一非0元素矩陣
+ - * / 對應元素運算,A . B 矩陣乘法,有空格
row(M,i) col(M,i) 矩陣M第 i 行/列
addcol(M,[1,2,3]); addrow(M,[]); 增加行/列
submatrix(i1,i2,M,j) 刪除矩陣M第 i1 i2 行 j 列
determinnant(M); 行列式
transpose(M); 矩陣轉置
invert(M); 矩陣的逆
rank(M); 矩陣的秩
eigenvalues(M); 返回 [[本征值],[對應重數]]
eigenvectors(M); 返回 [[同上],[本征向量]]
微積分
diff(f(x),x,n); diff(f(x,y),x,n,y,m) 微分
integrate(f(x),x) 不定積分
integrate(f(x),x,a,b) 定積分
taylor(f(x),x,a,n) a點n階泰勒展開
laplace(f(t),t,s) ilt(f(s),s,t) 拉普拉斯
residue(f(z),z,z0) 在z0點留數
微分方程
eq:'diff(y,x,2)-y=4*x*sin(x); '表示不計算
ode2(eq,y,x); 解一階/二階微分方程
ic2(%,x=0,y=1,'diff(y,x)=2); ic1 初值
bc2(%,x1,y1,x2,y2) 二階邊值問題
atvalue(x(t),t=0,1); 提供初值
desolve([eq1,eq2],[x(t),y(t)]); 一階微分方程組
作圖
調用 Gnuplot,基于命令行的函數及數據作圖程序。
plot2d(f(x),[x,minX,maxX],[y,minY,maxY]);
plot2d([f1,f2],[x,minX,maxX]); 多條圖
plot2d(f(x),[x,0,3],[logy]) 對數坐標
x:[]; y:[]; plot2d([discrete,x,y]); 數據繪圖
tex(expr); 輸出LATEX代碼