當前位置:首頁 > 電腦軟件 > 文理工具 > Maxima(計算機代數(shù)系統(tǒng))

Maxima(計算機代數(shù)系統(tǒng))

版本:v5.47.0 大?。?56.99M 語言:簡體中文 類別:文理工具
  • 類型:國產(chǎn)軟件
  • 授權:免費軟件
  • 更新:2023-10-31
  • 環(huán)境:Windows11,Windows10,Windows8,Windows7,WinXP,WinVista
  • 本地下載
9.1
0% 0%

情介紹

函數(shù)、公式推導等都都是非常繁瑣的事情,隨著計算機技術的發(fā)展,很多比較繁雜是公式、實驗、推導等都可以借助計算機,今天小編就給各位推薦一款功能非常強大的數(shù)學函數(shù)推導分析軟件——Maxima,Maxima軟件是一款采用LISP編寫計算機代數(shù)系統(tǒng)可以幫助你在電腦上分析函數(shù)的工具,Maxima軟件是美國一家公司開發(fā)的,其前身是MIT的Macsyma,在最初的運算中,主要用于計算代數(shù),因此您也可以將其看作是一個計算機代數(shù)運算系統(tǒng),經(jīng)過多年的發(fā)展,該軟件的功能已經(jīng)非常強大了,并不僅僅是運算那么簡單;Maxima現(xiàn)在已經(jīng)廣泛運用于高級函數(shù)分析,支持初等函數(shù)、代數(shù)、常量、變量、矩陣、微分、積分、等方面的分析,讓數(shù)學研究方面的朋友可以獲得一個更加智能的計算工具,同時該軟件在繪制函數(shù)圖像方面的功能也是非常先進的,支持二維作圖、數(shù)據(jù)作圖,需要的朋友可以下載試試!

官方介紹

Maxima 的前身是DOE-Macsyma 。DOE-Macsyma 是由麻省理工學院(MIT)在美國能源部的支持下于60年代末創(chuàng)造的一中 CAS ,它是用 LISP 實現(xiàn)的。Macsyma在當時是非常創(chuàng)新的軟件?,F(xiàn)在流行的商業(yè)計算機代數(shù)系統(tǒng)軟件Maple及Mathematica,都是受到Macsyma的啟發(fā)而設計出來的。MIT 1982年的時候決定把 Macsyma 變成一個關閉源碼的程序,Macsyma 走上商業(yè)化的道路,于是產(chǎn)生了很多 Macsyma 的分支。自1982年開始,Bill Schelter教授默默地開始開發(fā)一個開放源碼版的Macsyma,他把這個軟件叫做Maxima。因為版權的問題,Maxima一直不能公開發(fā)行,只有少數(shù)人知道有這個軟件的存在。1998年,Maxima終于得到公開發(fā)行的許可,這已是Schelter教授努力了16年之后的事。Schelter教授在2001年去世,不過已經(jīng)正式成為合法開放源碼軟件,因此陸續(xù)有支持開放源碼的程序設計師,學者投入Maxima的開發(fā)工作。Maxima原本是純文字界面,這在數(shù)學式子的顯示上就沒有Maple或Mathematica等軟件來得美觀。不過Maxima也有幾種圖形界面。第一個選擇是使用GNU的TeXmacs。TeXmacs是一套所見即所得的文書處理程序,可以很方便的編輯數(shù)學式子。它同時也提供許多數(shù)學軟件一個美觀的界面,Maxima就是其中之一。其他可能的選擇還有wxMaxima, imaxima等等。

軟件功能

1、最大值
Maxima是全功能的計算機代數(shù)系統(tǒng)(CAS)。CAS是一個程序,可以通過重新排列公式并找到解決問題的公式來解決數(shù)學問題,而不僅僅是輸出結果的數(shù)值。換句話說,Maxima 可以作為一個計算器,給出變量的數(shù)值表示,也可以提供分析解決方案。此外,它還提供了一系列不能解析解的等式或方程組的數(shù)值分析方法。
2、waxMaxima
wxMaxima是一個圖形用戶界面,提供Maxima的全部功能和靈活性。 wxMaxima為用戶提供了圖形顯示和許多功能,使Maxima更容易使用。例如,wxMaxima允許一個簡單的右鍵點擊導出任何單元格的內容(或者,如果需要,公式的任何部分)作為文本,LaTeX或MathML規(guī)范。事實上,整個工作簿可以導出為HTML文件或LaTeX文件。wxMaxima的文檔,包括用于說明其使用方面的工作簿,可以在wxMaxima 幫助站點以及幫助菜單中進行在線。
3、水平和垂直光標
有時希望允許選擇多個單元格或只允許單元格的一部分用于導出或拖放。然而,在一個單元格的中間開始這樣的一個動作并將其結束在另一個單元格的中間幾乎肯定會導致意想不到的結果。因此,在這種情況下,waxMaxima將把選擇擴展到完整的單元格。
wxMaxima通過定義兩種類型的游標來提供拖放的靈活性。wxMaxima將在需要時自動切換:
-能夠選擇任意數(shù)量的全部單元格的水平光標。通過在兩個單元格之間移動光標或單擊兩個單元格之間的空格來激活該光標。要選擇一組相鄰單元格,請單擊頂部單元格左側(但不在三角形內)的括號中,然后拖動光標,以便突出顯示該單元格和下一單元格(或單元格范圍)。然后使用ctrl + enter 或shift + enter來執(zhí)行突出顯示的單元格。
-在單元格內工作的垂直光標。通過使用鼠標指針或光標鍵移動單元格內的光標來激活該光標,并且在文本編輯器中與光標非常相似。
只要光標在單元格內部,搜索操作將會將其范圍限制在當前單元格中。
4、命令自動完成
wxMaxima包含通過菜單(單元格/完成字)觸發(fā)的自動完成功能,或者通過按下組合鍵Ctrl + k。自動完成是上下文相關的,如果在ezUnits的單位規(guī)范內激活,它將提供適用單位的列表。除了完成當前命令或變量的名稱之外,自動完成能夠顯示大多數(shù)命令的模板,指示該程序期望的參數(shù)的類型(和含義)。要激活此功能,請按Shift + Ctrl + k或選擇相應的菜單項(單元格/顯示模板),下圖中的樣式需要下載TeXmacs。
5、內含MAXIMA的教程
在圖形界面的wxmaxima中選擇幫助,可以直接查看官網(wǎng)或查看下載包里教程文件夾,雙擊.wxm后綴的文件則直接在MAXIMA中打開,注意,它們都是英文的。

軟件特色

作圖
Maxima調用外 部程序來實現(xiàn) 作圖,默認 的外部程序是Gnuplot。Gnuplot是一個 很強大的基于 命令行的函數(shù)及數(shù) 據(jù)作圖程序 ,集成了計算 、擬合、腳 本編程等功能 ,包括Maxima,Octave等在 內的一些軟件均使用Gnuplot作為 后臺程序實現(xiàn)作 圖功能。對于那 些經(jīng)常用到數(shù)學 作圖的用戶, 我建議直接使用Gnuplot,因為它有更靈活的設置和更強大的功能。
特殊函數(shù)
Maxima提供有 常用的特殊函數(shù) 。這里不介紹每 個函數(shù)的具體 用法,可以參考 任何一本數(shù)理 方程教材
邊值問題
函數(shù)bc2(solution,xval_1,yval_1,xval_2,yval_2)用來 求解二 階微分方 程的邊 值問題 ,其中solution是ode2解得 的通 解,xval_1、yval_1xval_2和yval_2分別 為自 變量和 因變 量在第 一點和第二點的取值
一階或二階常微分方程通解
(eqn, dvar, ivar)函數(shù)用來解一階或者二階常 微分方程,其中eqn是待解方程,dvar是因變量,ivar是自變量。
對角矩陣
對于具 有相 同元 素的 對角 矩陣 ,還 有更 簡便的 輸入 方法 。diagmatrix (n, x)函數(shù)返 回一 個對 角元素 為x的n × n對 角矩 陣。單 位矩 陣 可以 用diagmatrix (n, 1)表 示 。另 外, 單位 矩 陣還 可以 通過ident (n)獲得
交互式輸入
使用entermatrix(m,n)函數(shù)可以 進行交互式的矩陣 輸入,Maxima將每 個元素一一讀入。 如果行列維數(shù)相同,Maxima會主動詢問 矩陣是否為對 角、對稱、反對 稱或者一般矩 陣,這樣可以 有效減少輸入次數(shù)

使用教程

1、把Maxima當做計算器用
你可以把Maxima當作一個快速的并且可靠的計算器用。它的精度在計算機硬件的限度內可以是任意的。跟很多編程語言一樣,在Maxima,你需要輸入一個或者多個指令和表達式,并以分號"$$"分隔。
(%i1) 9+7;
(%o1) 16
(%i2) -17*19;
(%o2) -323
(%i3) 10/2;
(%o3) 5
上一次計算的結果可以用“%”符號來表示,而且之前的任意一次的輸入和輸出可以通過符號 “%i”(輸出)或者“%o”(輸出)來表示。
(%i4) % - 10;
(%o4) -5
(%i5) %o1 * 3;
(%o5) 48
簡單一點,從這里起,我們將會省略掉那些標有號碼的輸入和輸出,并且用 a => sign 來表示輸出。分數(shù)情況下,分子和分母都是整數(shù)的情況下,maxima會返回一個相應的簡化的分數(shù)或者一個整數(shù)。這些可以通過一些使用“float”方法來驗證(或者bfloat,在大的浮點數(shù)字的情況下):
8/2;
=> 4
8/2.0;
=> 4.0
2/6;
=> displaystyle frac{1}{3}
float(1/3);
=> 0.33333333333333
1/3.0;
=> 0.33333333333333
26/4;
=> displaystyle frac{13}{2}
float(26/4);
=> 6.5
如上所述,在這里,大數(shù)值的數(shù)字不是個問題:
13^26;
=> 91733330193268616658399616009
13.0^26
=> displaystyle 9.1733330193268623text{ }10^_{+28}
30!;
=> 265252859812191058636308480000000
float((7/3)^35);
=> displaystyle 7.5715969098311943text{ }10^_{+12}
一些定量和常見的方程
這里是一些常見的定量數(shù)值,在日常使用中會經(jīng)常用到:
%e - Euler’s Number
%pi - displaystyle pi
%phi - the golden mean (displaystyle frac{1+sqrt{5}}{2})
%i - the imaginary unit (displaystyle sqrt{-1})
inf - real positive infinity (infty)
minf - real minus infinity (-infty)
infinity - complex infinity
我們可以用它們中的一些在一些常見的方程里:
sin(%pi/2) + cos(%pi/3);
=> displaystyle frac{3}{2}
tan(%pi/3) * cot(%pi/3);
=> 1
float(sec(%pi/3) + csc(%pi/3));
=> 3.154700538379252
sqrt(81);
=> 9
log(%e);
=> 1
2、聲明定義方程和變量
變量可以用一個冒號來賦值,而方程需要用":="來定義。以下的程序是用來演示怎么去使用它們:
a:7; b:8;
=> 7
=> 8
sqrt(a^2+b^2);
=> sqrt{113}
f(x):= x^2 -x + 1;
=> x^2 -x + 1
f(3);
=> 7
f(a);
=> 43
f(b);
=> 57
請注意,Maxima只提供自然對數(shù)計算功能 log. 默認情況下,不提供 log10,但是你可以自己定義,如下:
log10(x):= log(x)/log(10);
=> displaystyle log10(x):=frac{log(x)}{log(10)};
log10(10)
=> 1
3、符號計算方法
我們可以使用 factor 來進行因數(shù)分解:
factor(30!);
=> displaystyle 2^{26},3^{14},5^7,7^4,11^2,13^2,17,19,23,29
或者多項式的因子計算
factor(x^2 + x -6);
=> (x-2)(x+3)
然后,展開
expand((x+3)^4);
=> displaystyle x^4+12,x^3+54,x^2+108,x+81
簡化有理數(shù)表達式:
ratsimp((x^2-1)/(x+1));
=> x-1
簡化三角方程:
trigsimp(2*cos(x)^2 + sin(x)^2);
=> displaystyle cos ^2x+1
類似的,展開三角表達方程:
trigexpand(sin(2*x)+cos(2*x));
=> displaystyle -sin ^2x+2,cos x,sin x+cos ^2x
請注意,2x在Maxima中不是乘法表達式,相應的,它要求明確使用 2*x。如果你想使用TeX來生成相應的表達式,你可以使用方程tex:
tex(%);
=> $$-sin ^2x+2,cos x,sin x+cos ^2x$$
4、公式求解
我們可以用方程“solve”輕松的解一個,或者一組公式:
solve(x^2-4,x);
=> displaystyle left[ x=-2 , x=2 right]
%[2]
=> x=2
solve(x^3=1,x);
=> displaystyle left[ x={{sqrt{3},i-1}over{2}} , x=-{{sqrt{3},i+1}over{2}}  , x=1 right]
trigsimp(solve([cos(x)^2-x=2-sin(x)^2], [x]));
=> displaystyle left[ x=-1 right]
solve([x - 2*y = 14,  x + 3*y = 9],[x,y]);
=> left[ left[ x=12 , y=-1 right]  right]
5、二維和三維畫圖
Maxima提供了二維和三維畫圖功能,并且有更多的功能在同一個圖表里。"plot2d"和"plot3d"用起來非常直接。第二個(或者第三個,在使用plot3d的時候)參數(shù)就是一系列x(和y)的數(shù)值,用來定義畫圖的取值范圍。
plot2d(x^2-x+3,[x,-10,10]);
plot2d([x^2, x^3, x^4 -x +1] ,[x,-10,10]);
f(x,y):= sin(x) + cos(y);
plot3d(f(x,y), [x,-5,5], [y,-5,5]);
6、極限
limit((1+1/x)^x,x,inf);
=> %e
limit(sin(x)/x,x,0);
=> 1
limit(2*(x^2-4)/(x-2),x,2);
=> 8
limit(log(x),x,0,plus);
=> -infty
limit(sqrt(-x)/x,x,0,minus);
=> -infty
7、微分
diff(sin(x), x);
=> displaystyle cos(x)
diff(x^x, x);
=> displaystyle x^{x},left(log x+1right)
我們能使用一個任選的數(shù)字來定義微分計算的階數(shù),從而來計算更高階的微分方程:
diff(tan(x), x, 4);
=> displaystyle 8,sec ^2x,tan ^3x+16,sec ^4x,tan x
8、積分
Maxima提供了一些類型的幾分計算。當計算不定積分時候:
integrate(1/x, x);
=> displaystyle log(x)
定積分的情況下,只需要把后兩個參數(shù)定義成積分的范圍:
integrate(x+2/(x -3), x, 0,1);
=> displaystyle -2,log 3+2,log 2+{{1}over{2}}
integrate(%e^(-x^2),x,minf,inf);
=> sqrt{% pi}
如果方程integrate不能計算一個積分的時候,你可以運行數(shù)值計算,用一個合適的方程(例如:romberg):
romberg(cos(sin(x+1)), x, 0, 1);
=> 0.57591750059682
9、累加和累乘
sum 和 product 是用于計算累加和累乘的方法。當需要簡化結果的時候,可以使用simpsum選項。注意,你也可以用product來定義你自己的方程。
sum(k, k, 1, n);
=> displaystyle sum_{k=1}^{n}{k}
sum(k, k, 1, n), simpsum;
=> displaystyle {{n^2+n}over{2}}
sum(1/k^4, k, 1, inf), simpsum;
=> displaystyle {{%pi^{4}}over{90}}
fact(n):=product(k, k, 1, n);
=> fact(n):=product(k,k,1,n)
fact(10);
=>  3628800
10、展開級數(shù)
級數(shù)展開可以通過方法taylor來進行(最后一個參數(shù)用于定義展開深度),或者用powerseries:
niceindices(powerseries(%e^x, x, 0));
=> displaystyle sum_{i=0}^{infty }{{{x^{i}}over{i!}}}
taylor(%e^x, x, 0, 5);
=> displaystyle 1+x+{{x^2}over{2}}+{{x^3}over{6}}+{{x^4}over{24}}+{{x^5}over{120 }}+cdots
當taylor的輸出需要用圖形表示的時候,trunc方法和plot2d一起使用(去解決泰勒級數(shù)尾部輸出的+cdots符號問題):
plot2d([trunc(%), %e^x], [x,-5,5]);

載地址

  • 電腦版
Maxima(計算機代數(shù)系統(tǒng)) v5.47.0

網(wǎng)友評論

0條評論
(您的評論需要經(jīng)過審核才能顯示)