Maple擁有優秀的符號計算和數值計算能力

 

 

https://www.maplesoft.com/products/maple/php

 

 

Maple高級應用和經典實例:  https://wenku.baidu.com/view/f24696210722192e4536f65d.html

Maple高級應用和經典實例: http://vdisk.weibo.com/s/dbLrQxb6KthZAhtml

 

 

Maple是目前世界上最爲通用的數學和 工程計算軟件之一,在數學和科學領域享有盛譽,有「數學家的軟件」之稱。Maple 在全球擁有數百萬用戶,被普遍地應用於科學、工程和教育等領域,用戶滲透超過96%的世界主要高校和研究所,超過81%的世界財富五百強企業。
Maple系統內置高級技術解決 建模和仿真中的數學問題,包括世界上最強大的符號計算、無限精度數值計算、創新的互聯網鏈接、強大的4GL語言等,內置超過5000個計算命令,數學和分析功能覆蓋幾乎全部的數學分支,如微積分、微分方程、特殊函數、線性代數、圖像聲音處理、統計、動力系統等。
Maple不只僅提供編程工具,更重要的是提供數學知識。Maple是教授、研究員、科學家、工程師、學生們必備的科學計算工具,從簡單的數字計算到高度複雜的非線性問題,Maple均可以幫助您快速、高效地解決問題。用戶經過Maple產品能夠在單一的環境中完成多領域 物理系統建模和仿真、符號計算、數值計算、程序設計、 技術文件、報告演示、算法開發、外部 程序鏈接等功能,知足各個層次用戶的須要,從高中學生到高級研究人員。
 
 

強大的求解器

★ 內置超過5000個符號和數值計算命令,覆蓋幾乎全部的數學領域,如微積分,線性代數,方程求解,積分和離散變換, 機率論和數理統計,物理,圖論, 張量分析,微分和解析幾何,金融數學, 矩陣計算,線性規劃,組合數學,矢量分析,抽象代數,泛函分析,數論,複分析和實分析,抽象代數,級數和積分變換,特殊函數,編碼和密碼理論,優化等。
★ 各類工程計算:優化, 統計過程控制,靈敏度分析,動力系統設計,小波分析, 信號處理,控制器設計,集總參數分析和 建模,各類工程圖形等。
★ 提供世界上最強大的符號計算和高性能數值計算引擎,包括世界上最強大的微分方程求解器(ODEs,PDEs,高指數DAEs)。
★ 智能自動算法選擇。
★ 強大、靈活、容易使用的編程語言,讓您可以開發更復雜的模型或算法。
★ 與多學科複雜系統建模和仿真平臺MapleSim緊密集成。

 

 

 

幾大數學軟件各有什麼優缺點?

Matlab、Maple、Mathematica、MathCAD 以及基於python的numpy/scipy/sympy 等
 

某種程度上這幾個軟件都用過。可是,MathCAD貌似我只用過幾天,而Maple用過幾個月吧,這都是約5年前的事情。如今主要用MATLAB和Mathematica。因此如下我討論一下後二者,簡稱ML和MM吧。前端

首先,ML是一種數值計算程序,而MM(及Maple等)是一種符號計算程序。這樣來講,兩類程序恐怕可比性並不很高。
而後,ML的語言是結構化的、解釋性的,MM的語言有點像lisp(看了MM全書之後感觸挺深)。這應該是兩者的本質區別。相應的優勢、缺點,也幾乎就是結構化語言和函數型語言的優勢、缺點。順帶一提,ML語言爲解釋性的,其計算效率並不高。
最後,從應用領域的角度看,兩者均可謂一應俱全。控制仿真、圖像處理、信號分析等等都是ML的強項。它的優點在於工具包很是全面(這彌補了計算效率上的劣勢)。MM的我研究得不是很深,但我大略掃過它的文檔,感受功能的數量不亞於ML(對了,MM的數據可視化強於ML;我作過MCM,當時特地用MM顯示數據)。java

我如今用ML,主要作些數據處理;用MM,主要推些公式。python

要補充的是,ML也帶有符號計算的功能,可是借用的MuPAD內核(之前貌似是Maple的);而MM也能做數值計算,並且能計算到任意精確的程度。但我認爲這些都不是二者的核心功能。參考linux的觀點,各個軟件將某一方面的能力提高到極致,最後組合起來,能夠很是強大。
樓上提到MATLAB腳本字體之類的問題,其實徹底能夠用其餘編輯器編輯腳本,而後用ML調用腳本去跑。ML自帶編輯器,對我來講是很奇怪的事情,呵呵。
 
 
 

據我的的使用來講,我用這些軟件都差很少有十來年,有些七八年的樣子.
請相信專業的,頂尖的,本身的深刻體會的.本身的眼光最重要,用事實說話,體會其中的精華,而不是表面
精華要從抽象層面和使用層面,這是軟件生存的本質linux

抽象到極致,實踐到極致,帶點偏見,就是正見web

誰用matlab不是衝着工具箱的話,他只用了1/10
誰用Mathematica和Maple不是用符號計算,那也只用了1/3
誰說Matlab也有符號計算的話,不知道他的符號引擎不是本身的,是第二流的引擎,請繞開算法

工具沒有最好,有時候還有審美方面的需求,好比我就一直糾結在Maple和Mathematica之間
以致於二者都會,事實上我最強的是Matlab,使用最久,到如今估計差很少十年了數據庫

這些要看我的,工業界,科研界的評判
我看上面的解說,都是誰誰怎麼樣,您本身呢,可是體會有些地方感受不怎麼對,如下算做補充:express

首先,Maple和Mathematica是以符號計算著稱,可是近年來Maple和Mathematica在數值計算上也有長足的發展,整體來講Matlab>Mathematica>Maple,差距在縮小;

就符號計算自己來講,若是作過測試的話,Maple>Mathematica>Matlab(如今matlab用mupad的核心,之前用的maple的),因此嚴格來講Matlab是沒有本身的符號計算的.

而從編程範式方面,Mathematica支持的編程範式是最多,什麼函數式,子過程式,遞歸,面向對象,還有不少.甚至很是完美的支持 List等,語法規則比較嚴格

Maple語法規則太靈活,入門快,可是要成爲高手就有點玄乎,相比mathematica要成爲高手容易一些,單從語法上說.

2. 從幫助文檔上說,Maple不太規範.
Mathematica的方式我最喜歡
Matlab還不錯,如今趨向於和Mathematica一樣的寫做方式寫幫助了

3.從公衆交換代碼方面,Matlab的file exchange最強大,東西最多
Mathematica的alpha平臺以及其餘也不錯
Maple在這塊比較弱了

4.從使用上來講,Matlab最強大的是工具箱,他的控制工具箱是一絕,世界上絕無僅有的東西
而其餘工具箱不少也達到top1,2,3的樣子,並且新技術融入很快,當年的小波,小波包,信號處理方面
如今的代碼生成,代碼優化方面,直接生成硬件代碼
和硬件代碼的半硬件調試基本上也是無人能敵了
Mathematica在國外,尤爲美國使用者不少

5.數學的頂尖工具箱方面,能夠推薦一下
Maple的張量工具箱等,那是高深啊,還有其餘一些Mathematica比不上的
有不少ODE,Mathematica解不出來,Maple能夠的
Mathematica的差分方程我是很喜歡的
Mathematica在special function的幫助,分類的幫助,說總共有多少類,多少個公式,一一列出,我淚崩,世界上沒有比這更好的了.

6.可是Mathematica的語法真心喜歡,若是你對functional paradigm,list,rules這些感興趣,你會發現,這真是NB

7.在公衆貢獻放方面
Mathematica貢獻了 wolfram function , math world,以及demo等
Maple軟件自己帶有物理以及數學的不少知識

總的來講:
Matlab適合工程界,尤爲是工具箱,快速代碼,還有和第三方軟件的不少集成,好比優化工具箱
其中最爲明顯的第三方就是comsol
Mathematica語法優秀,優秀到幾乎帶有全部的編程範式
Maple符號計算最強,至少在個人測試下是如此,也出了仿真的Maplesim

三個我都用.惋惜我沒米,買不起

補充:
如今你基本上不用考慮效率方面的問題了
隨着硬件的進步,算法的進步
並行支持,分佈式計算支持,多核支持,甚至GPU的深度支持
計算速度慢慢退居次要了

可視化編程方面,Maple和Mathematica都有大大的進步,已經到了智能判斷不少東西的程度了
推測你的意圖
Matlab根據你的鼠標操做生成代碼,也是太厲害了
因此易用性,三者差距在縮小

有人說Matlab的圖和編碼是分開的,可是他有Notebook模式,不少人沒用過
Mathematica有cdf,天然編程方式
Maple和Mathematica基本上差很少了

補充:ref
首先必定要看features,得讀十來遍吧
Wolfram Research's Product Line of Technical Software, Technologies, and Services
What is Maple: Product Features
Maple Features
而後他們兩家本身互掐,注意Matlab不在掐之列,由於他靠工業工具箱,另外兩家根本無法跟他比
Similarities between Mathematica & Maple Are Only Skin Deep
Compare Mathematica to Maple: Features Make the Difference
Why Mathematica
Why Mathematica? Compare Mathematica to Other Technical Computing Tools
Analysis of Wolfram Research's Comparison of Mathematica® and Maple
Analysis of Wolfram Research's Comparison of Mathematica速 and Maple- Maplesoft
從我之前早期的瀏覽歷史,Mathematica先掐的Maple

Maple-Mathematica速 Comparison- Maplesoft
Maple vs Mathematica
注意這句:
In general Maple is more powerful on solving Integral equations, differential equations and Groebner basis, Mathematica is more powerful for integration, recurrence relations, equation solving and simplification.
 
 
 
 

先說個人觀點,再給一個比較權威的結論。

我用過Matlab和Mathematica,我以爲Mathematica的表達能力要更強一些,而且能夠把公式文檔和計算過程都很優雅地表達在一個notebook裏面,說白了就是能夠圖文並茂地表達一個複雜的過程。mathematica做爲寫一個算法的快速原型工具,如今能夠很方便地實現任意複雜的算法,也容易生成數據去檢驗。國內講mathematica的書比較少,大部分是關於數學實驗的,專題性質的很少。國外有一些講得比較深刻的,例如wolfrom寫的《mathematica全書》,讀這些書不只能讓你熟練使用 mathematica,更多地是拓展你在計算機科學的視野。

Matlab的工具箱很是強大,搶佔了大部分理工科的陣地,書也不少,能夠說是全部數學軟件中最多的了吧,用戶羣也是最大的,處處均可以見到各種論壇。可是目前你們都是把Matlab做爲一個應用的工具,講的不夠深刻,深刻的是那些背後的數學原理。如今幾乎理工科各個類別的算法(專業很高的算法)均可以找到matlab版本的。好比我要作數據分類,就用了別人寫的matlab版的最小均方SVM,若是是用Mathematica的話,那就得本身寫到崩潰了。

最後一點,我一直以爲Matlab的腳本字體不美觀,並且完成一個東西一次要寫好幾個腳本,因此我更願意用mathematica。

比較權威的比較:
關於幾大數學軟件的比較,國內一直爭論不休,殊不知有個德國人在這方面已經作了很精確的比較。一共60多頁的文檔,從6個大項100多個小項目進行了詳細的比較。幾十個表格,數千行代碼,並且爲了保證一樣的算法的代碼質量,Mathematica的代碼由Wolfram Research的人來寫,Matlab代碼由MathWorks的人來寫。不得不佩服德國人作事的嚴謹,再想一想咱們還在這裏瞎吹,哎。。。。

最後評分結果:
Maple 51.13%
Mathematica 71.05%
Matlab 69.58%
詳細的比較你們本身去看吧。
 
 
 
 
說個題外,大概是04年初中的時候,用過一個幾何自動證實軟件,當時就shock到,竟然能自動證實蝴蝶定理。看它的證實過程也是樂趣,它會不停的添加輔助線。
 
 
 

我這裏專門寫一下Mathematica的軟件引擎(下面所有引自mathematica幫助文檔)。、

Mathematica 是當今最複雜的軟件系統之一. 它由數百萬行 C/C++、Java 和 Mathematica 源代碼寫成.
Mathematica 中的 C 代碼其實是用支持必定的內存管理和麪向對象特徵的擴展 C 語言寫成的. Mathematica 代碼使用 Share 和 DumpSave 進行了優化.
在 Mathematica 內核中,不一樣部分的代碼構成大體以下:語言和系統佔 30%;數值計算佔 20%;代數計算佔 20%;圖形與內核輸出佔 30%.
大多數代碼是至關密集的和系統化的:其實是簡單過程或表的那些部分使用最少的代碼,這是由於這些代碼趨向於在較高的層次上編寫\[LongDash]\[LongDash]經常直接以 Mathematica 語言編寫.
內核中的源代碼,對於運行 Mathematica 的全部計算機系統是徹底相同的.
然而,對於前端,須要大量專門化的代碼來支持不一樣類型的用戶界面環境. 前端包含大約 700,000 行獨立於系統的 C++ 源代碼,其中大約 200,000 行涉及表達式的格式構造. 這裏有 50,000 到 100,000 行的特殊代碼,這些代碼專門處理每一個不一樣的用戶界面環境.
Mathematica 使用客戶\[LongDash]\[LongDash]服務器計算模型. 前端和內核經過 MathLink 來鏈接\[LongDash]\[LongDash]使用一樣的系統與其它程序通信. MathLink 支持多個傳輸層,包含基於 TCP/IP 的和使用共享內存的.
前端與內核使用三個獨立的 MathLink 連接來鏈接. 一個是用於用戶提交的計算. 第二個是用於前端求解 Dynamic 表達式的值. 三是用於內核,以通知前端應該使哪一個 Dynamic 對象失效.
在 Mathematica 內核的 C 代碼部分,主要經過交換完整的 Mathematica 表達式實現不一樣部分之間的通訊,以此來得到模塊性和一致性.
可是應當注意,即便系統的不一樣部分在源代碼層次是至關獨立的,它也有許多算法的相互依賴性. 例如,咱們能夠經常看到使用了大量代數算法的數值函數,或者使用嵌入在不一樣 Mathematica 函數中的高級數學算法的圖形代碼.
自從1986年 Mathematica 開始發展以來,平均每一年有1千開發人員從事 Mathematica 源代碼的建立. 此外,與代碼建立至關的精力或者更多的精力用在代碼的測試和驗證上.
自從第1版發行以來,Mathematica 的源代碼已經有了很大改變. 在內核中的代碼總行數從第1版的 150,000 行,到第2版的 350,000 行,又到第3版的 600,000 行,第4版的 800,000 行,第5版的一千五百萬行,到第6版的兩千五百萬行. 此外,在每一個階段,現有代碼都被修改了\[LongDash]\[LongDash]所以,在第6版中,僅有不多的一部分代碼與第1版中的代碼是相同的.
然而,儘管在內部代碼中有這些變化,Mathematica 用戶層次的設計一直保持與第1版的兼容性. 到目前爲止,添加了許多新功能,但 Mathematica 第1版中建立的程序無需任何改變,絕對能在第 6 版中運行.
 
 
 

我正好用過其中的3個軟件,我回答一下:
(我在PTC工做的時候,正好公司收購MATHCAD,公司作過屢次競爭軟件評估)

四大數學軟件:Maple、MATLAB、MathCAD(被PTC收購)和Mathematica。

1)MATHCAD:若是僅僅是要求通常的計算或者是普通用戶平常使用,首選的是MathCAD,它在高等數學方面所具備的能力,足夠通常客戶的要求,並且它的輸入界面也特別友好(相似word界面)。設計院客戶比較多,用於寫計算說明書。
2)若是要求計算精度、符號計算和編程方面的能力,推薦用Mathematica。
3)若是有實時數據流,仿真方面的運算,推薦MATLAB,它的矩陣計算和圖形處理方面則是它的強項。國防/軍工/電子行業客戶比較多。
4)MAPLE我沒有用過。

這只是大概的比較,其實如今這4種軟件,各家的發展方向已經徹底脫離開數學領域了。如今作數學領域比較已經沒有什麼意義。
 
 
 
說些簡單的:
只有mathematica纔有官方中文幫助啊,並且排版很是清爽。
相比起來,其他2者差了遠了,並且例子也是mathematica最豐富。
mathematica畫出來的圖很是好看,
輸出的圖能和文字、計算、公式放在一塊兒,而不是像matlab單獨彈出個窗口。
並且,mathematica輸入輸出的格式和咱們日常使用的格式很接近,
固然目前的maple也是,只有matlab還得用不少括號。。。
從最新版本的佔用空間上看,maple只有500MB不到,mathematica有1GB,matlab大概有4GB。
還有點很是無語,matlab每一年都會出2個版本……並且版本號很是容易混淆,貌似有段時間是向降低的。
maple和matlab應該主要是用java語言寫的,
而mathematica主要是用c語言。不過---->(評論裏曹洪洋先生指出這是錯的)
 
 
 

我說一個 Julia;

優勢:
1. 速度快
2. 有時(實際上是常常)能夠當作 Lisp 寫
3. 能夠方便的部分達到 CPP 的 template-based programming 的效果,加強穩健性(防護式編程)和運行速度(型別已知)
4. 隨意調用 Python 包
5. 有 best (coding) practice 作參考
6. 暫時我尚未玩過,可是能夠用 JuMP 的方法用 macro 寫 DSL

缺點:
1. 雖然對我來講不是缺點,可是每次準備安利時發現沒有 IDE 安利不能
2. 自用的包每次更新的時候要調整很多避免 warning
3. 雖然經常有 pre-compiled 的版本,可是不編譯一個最新 master 版本會不舒服
4. 偶爾編譯時會有蛋疼狀況,好比系統上的 llvm 和編譯要求的不同
 
 
 
 
 

過去本人從事理論物理研究工做,如今則從事生物、計算機科學研究,使用機器學習工具,本人嘗試從我的經驗討論各種軟件的優劣。

Mathematica:
長處:算符運算能力強大,界面美觀,語言簡潔,容易取得真實數據,畫圖精美
短處:運算速度慢,受界面影響,不利處理大量數據

MATLAB / Octave:
長處:向量化語法,大量工具箱
短處:語言易讀性低

Python + NumPy + SciPy:
長處:語言簡潔,可作數值計算之外的工做(如網搜數據),大量工具箱
短處:算符運算能力不強且繁冗

R:
長處:大量統計工具箱,可快速處理大量數據,畫圖精美
短處:功能限於統計方面,語法晦澀
 
 
 
 

其實數學軟件之間是不太比如較的,由於面向的用戶羣體徹底不一樣,彼此並不太構成競爭。

以 Matlab 爲例,通常來講它被當作是最重要的數學軟件,但是事實上 Matlab 更象是一個編程環境,而不是一個軟件。若是要比較,Matlab 應該和 python 之類作比較更好。和全部其它數學軟件相比,Matlab 在編程方面的功能都遠遠勝出,不在一個水平線上。

Mathematica 纔是一個真正意義上的數學軟件,或者確切來講,是「計算軟件」,是用來算東西的。好比算100的階乘,好比一個多項式的根,好比畫出一條曲線的形狀。這些它能夠作的很是好,可是也僅限於此。要用它開發出一個新算法是幾乎作不到的。因此真正的數學研究或者相關領域的研究反而沒人用 mathematica,就像數學家並不真的須要用計算器同樣。

Mathcad 其實不是一個數學軟件,而是一個「寫數學」的軟件,能夠很方便的輸入,可是長處也僅限於此。不過今天在數學公式輸入方面,latex 已是事實上的標準了,因此 mathcad 的市場實際上是至關有限的。

Maple 在我印象裏是一個沒落中的軟件。曾經在學術界有不少人喜歡,可是今天彷佛已經沒什麼人在用了。
 
 
 
 

做爲計算機數學方向的研究生一枚,Matlab、Maple、Mathematica、MathCAD、maxima、mathμ這些軟件我都用過,當前在學術、工業、教育界上較流行和出名的科學計算軟件分爲兩類,主要包含數值計算軟件(以MATLAB爲表明)和符號計算軟件(好比:Mathematica、Maple、Maxima、MathCAD、Reduce等,更多此類軟件請訪問Computer algebra system - wikipedia)兩大類,還有近幾年來在中國緩慢發展但還沒有推廣使用的符號計算軟件mathμ。

(1)Maxima,是由麻省理工學院在美國能源部的支持下於60年代末創造的Macsyma演變而來,世界上最先的符號計算系統(或稱爲計算機代數系統CAS)。Macsyma後來慢慢走上商業化的道路,自1982年開始,Bill Schelter教授默默地維護基於能源部得到的代碼的Macsyma,他把這個軟件叫作Maxima,開放源碼。由於版權的問題,Maxima一直沒有公開發行,只有少數人知道有這個軟件的存在。1998年,Maxima終於獲得公開發行的許可,這已經是Schelter教授努力了16年以後的事。Schelter教授在2001年去世,不過已經正式成爲合法開放源碼軟件,所以陸續有支持開放源碼的程式設計師,學者投入Maxima的開發工做。Maxima的前身Macsyma在當時是很是創新的軟件。如今流行的商業計算機代數系統軟件Maple及Mathematica,都是受到Macsyma的啓發而設計出來的。


(2)Mathematica是由世界著名物理學家Stephen Wolfram領導的Wolfram Research公司開發的科學計算軟件。它兼具強大的符號計算功能和數值處理功能,被稱爲世界上最強大的通用計算系統。


(3)Maple是由加拿大Waterloo大學開發的科學計算軟件,擁有優秀的符號計算和數值計算能力。而且其符號計算同時是MATLAB和MathCAD等軟件的符號處理的核心。2009年,Maplesoft被日本軟件商Cybernet Systems收購。(About Maplesoft: Maplesoft, a subsidiary of Cybernet Systems Co., Ltd. in Japan, is the leading provider of high-performance software tools for engineering, science, and mathematics. Its product suite reflects the philosophy that given great tools, people can do great things.)


(4)MATLAB是美國MathWorks公司的科學計算軟件,具備超強的數值計算功能。使用MATLAB,能夠分析數據,開發算法,建立模型和應用程序。MATLAB在信號處理和通訊、圖像和視頻處理、控制系統、測試和測量、計算金融學及計算生物學等衆多應用領域已成爲科研工做着和大學生進行科學研究的一種強有力工具。


(5)MathCAD是美國PTC公司旗下MathSoft子公司推出的一個交互式的數學軟件。MathCAD是集科學編輯、數學計算、和仿真於一體的軟件,主要特色是輸入界面比較友好,所見即所得。MathCAD可視做一個功能強大的計算器,沒有複雜的使用規則;同時它和Word、WPS等文字處理軟件配合使用良好。


(6)清華大學的mathμ研發團隊的科技發明製做「計算機代數系統mathμ」是一個符號計算軟件,mathμ研發團隊官方聲稱mathμ具備獨特的符號處理功能,國內領先,但它使用起來依舊須要學習專門的輸入語法和命令,此外也還沒有推廣使用。


從功能上而言,目前科學計算領域的符號計算和數值計算基本已被Mathematica和MATLAB所覆蓋。Maple爲MATLAB和MathCAD等計算軟件的符號計算提供內核,MathCAD主要提供較強的數學表達式編輯的功能。


 

 

發現有個地方的回答也還不錯:MAXIMA,Mathematica 和 Maple 的區別

 
 
 
 
說一個數學軟件,很早,也是我(的老師)一直用的

GeoGebra

數學老師那些幾何圖形,什麼多邊形,各類函數其實都不是本身畫的哦


這個軟件提供不少模板,就是數學老師繪圖必備啊

GeoGebra:幾何畫板的最佳替代品 功能全面 免費開源 應用普遍的數學繪圖軟件

 
 
 
 
難道不是我大R language?
 
 
 
 
由於在讀PhD,因此常常會猶豫該用什麼數學軟件或者編程語言寫算法。最瘋狂的時候,寫一個關聯挖掘的算法,前後用過Java,R,matlab,Python,C++。每一個軟件甚至編程語言都各有千秋,始終沒有找到我想要的完美解決方案。做爲一個有完美強迫症的人,痛苦不堪,直到某一個想明白了這個問題:全部的軟件,語言,都是工具而已,不存在完美的方案。並且,隨着應用中新領域的不斷出現,不只會推出新的數學軟件,也會出現針對某個專門問題的專業軟件。
選擇數學軟件或者工具、語言的時候,通常考慮兩個維度:抽象高度 和 擴展廣度。
先從容易理解的提及。所謂擴展廣度,也就是說軟件的工做能力,好比數據可視化、做圖的能力,讀取各類數據源的能力(文本,表格,數據庫),與其餘軟件集成、提供接口調用的能力,擴展第三方程序集的能力,以及使用界面是否人性化。可是,若是功能太強大,什麼功能都具有,那麼軟件上手難度會相應的增大,違法了「大道至簡」的原則。
再談抽象高度。所謂抽象高度,也就是這個軟件的最基本數據思惟邏輯單元是什麼。你們熟悉的Matlab,其核心數據結構就是矩陣,一個向量也能夠看作一個矩陣。Matlab的一切計算基礎都是矩陣運算。抽象程度高的優勢有兩個:
  1. 用戶能夠繞過底層數據邏輯,直接思考實現頂層的算法,跳過瑣碎的程序細節;
  2. 能夠大大提高運算速度。爲何Matlab的矩陣運算速度那麼快?由於矩陣是其基本數據結構,因此Matlab中核心的矩陣運算是在二進制內存級別上完成的。
固然,抽象程度高的缺點也是很明顯的:必定程度上會損失使用的靈活性。因此,在這兩個維度上,就能夠對經常使用的數學工具、語言(本人比較熟悉R、Matlab、Python)作一個分類了:

P.S. 這裏的Python指擴展了numpy, scipy庫。

限於對其餘軟件的瞭解有限,因此沒法發佈意見。。。不過這種分類方法仍是能夠考慮的,用來尋找適合本身的數學工具。
 
 
 
 
怎麼沒有人談maxima, 起碼最大的特色就是不要錢啊。
 
 
 
 
就簡單說一下Mathematica好了。
還記得個人第一行代碼:
Plot[sin[x], {x, 0, 2 Pi}]
debug 花了一個下午......差點就要對它絕望了…
 
 
 
 

Matlab實際上是個工程軟件。純數學方面並不強,符號運算更是渣。可是變成方便,適合作模擬和通常計算工做。固然,由於是腳本語言,因此效率比不上通常的編程語言。它主要勝在適用面很是廣,這種庫的支持很是好,還有專門輸出報表的庫。所以,系統模擬,控制系統設計、圖像處理、信號處理等等均可以用。我還用這軟件來排相框。

MathCAD沒有用過,不清楚。Maple感受純數學、推公式更適用些,適用面比較窄。Mathematica聽說也能夠作一些工程應用方面的工做,可是我沒有用過這方面的功能,因此沒法評論。
 
 
 
 
你們都用盜版MATLAB不給錢 叫咱們怎麼有動力把產品作好
 
 
 
 
 
渣渣用過matlab,sas,r,stata,eviews談一談本身的感受。
首先,對於學生來講,若是隻是寫論文或者作數據處理,他們的區別是不的,基本想實現的功能每個都能實現。因此,學好一個就夠用好久了,固然若是是工做另當別論。
其次,從每一個軟件的特色來講,我的感受以下:
stata eviews偏統計計量方面,eviews更適合作時間序列,stata更適合作面板。曾經用stata作過期間序列,但功能不如eviews強大,好比檢驗穩定性剔除趨勢,stata只有默認的線性趨勢,eviews能夠設置多種趨勢。除此外,感受stata比eviews好用不少,命令很是簡單。
r,sas都是很強大的統計軟件,如今作大數據這倆用的不少,上面的基本沒聽到過有誰用。不過我的很喜歡r一點,命令簡單,並且是免費的。可是r自帶的編譯器不太行,須要下別的插件。
matlab功能更綜合一些,工程啊,金融啊都能用,好比用他作量化交易策略測試很好用。
 
 
 
 
說多了都是廢話, 就是一個工具,看本身的行當裏用什麼的多,必定是有道理的
尤爲是有大量現成的工具包的狀況下
 
 
 
 
只用過matlab,它僅僅是數學計算的低效軟件。然而,庫函數可能是王道
 
 
 
Maple作多項式的計算強,當年用Maple在F_{2} 上分解x^{65535} -1,結果酸爽

 

 

 

 

Maple (software)

From Wikipedia, the free encyclopedia
 
 
Maple
Maple 2016 Core Screenshots.jpg
Maple interface
Developer(s) Waterloo Maple (Maplesoft)
Initial release 1982
 
Stable release
2016 / March 2, 2016
Written in CJava, Maple
Platform Microsoft Windows (7, 8 and 10), Apple OS XLinux
Available in English, Japanese, and limited support in additional languages[1]
Type Computer algebra systemNumeric computation
License Proprietary commercial software
Website www.maplesoft.com/products/maple/

Maple is a symbolic and numeric computing environment, and is also a multi-paradigm programming language.

Developed by Maplesoft, Maple also covers other aspects of technical computing, including visualization, data analysis, matrix computation, and connectivity.

A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.

 

 

Overview[edit]

Core functionality[edit]

Users can enter mathematics in traditional mathematical notation. Custom user interfaces can also be created. There is support for numeric computations, to arbitrary precision, as well as symbolic computation and visualization. Examples of symbolic computations are given below.

Maple incorporates a dynamically typed imperative-style programming language which resembles Pascal.[2] The language permits variables of lexical scope. There are also interfaces to other languages (CC#FortranJavaMATLAB, and Visual Basic). There is also an interface to Excel.

Maple supports MathML 2.0, a W3C format for representing and interpreting mathematical expressions, including their display in Web pages.[3]

Architecture[edit]

Maple is based on a small kernel, written in C, which provides the Maple language. Most functionality is provided by libraries, which come from a variety of sources. Most of the libraries are written in the Maple language; these have viewable source code. Many numerical computations are performed by the NAG Numerical LibrariesATLAS libraries, or GMP libraries.

Different functionality in Maple requires numerical data in different formats. Symbolic expressions are stored in memory as directed acyclic graphs. The standard interface and calculator interface are written in Java.

History[edit]

The first concept of Maple arose from a meeting in November 1980 at the University of Waterloo. Researchers at the university wished to purchase a computer powerful enough to run Macsyma. Instead, it was decided that they would develop their own computer algebra system that would be able to run on lower cost computers. The first limited version appearing in December 1980 with Maple demonstrated first at conferences beginning in 1982. The name is a reference to Maple's Canadian heritage. By the end of 1983, over 50 universities had copies of Maple installed on their machines.

In 1984, the research group arranged with Watcom Products Inc to license and distribute the first commercially available version, Maple 3.3.[4] In 1988 Waterloo Maple Inc. was founded. The company’s original goal was to manage the distribution of the software. Eventually, the company evolved to have an R&D department where most of Maple's development is done today with the rest done at university research labs worldwide including: the Symbolic Computation Laboratory at the University of Waterloo and the Ontario Research Centre for Computer Algebra at the University of Western Ontario[who?].

In 1989, the first graphical user interface for Maple was developed and included with version 4.3 for the Macintosh. X11 and Windows versions of the new interface followed in 1990 with Maple V. In 1992, Maple V Release 2 introduced the Maple "worksheet" that combined text, graphics, and input and typeset output.[5] In 1994 a special issue of a newsletter created by Maple developers called MapleTech was published.[6]

In 1999, with the release of Maple 6, Maple included some of the NAG Numerical Libraries.[7] In 2003, the current "standard" interface was introduced with Maple 9. This interface is primarily written in Java (although portions, such as the rules for typesetting mathematical formulae, are written in the Maple language). The Java interface was criticized for being slow;[8] improvements have been made in later versions, although the Maple 11 documentation[9] recommends the previous (「classic」) interface for users with less than 500 MB of physical memory.

Between the mid 1995 and 2005 Maple lost significant market share to competitors due to a weaker user interface.[10] In 2005, Maple 10 introduced a new 「document mode」, as part of the standard interface that it has been further developed over the following years.

In September 2009 Maple and Maplesoft were acquired by the Japanese software retailer Cybernet Systems.

Features[edit]

Features of Maple include:[11]

  • Support for symbolic and numeric computation with arbitrary precision
  • Elementary and Special mathematical function libraries
  • Complex numbers and interval arithmetic
  • Arithmetic, greatest common divisors and factorization for multivariate polynomials over the rationals, finite fields, algebraic number fields, and function fields
  • Limits, series and asymptotic expansions
  • Groebner bases
  • Differential Algebra
  • Matrix manipulation tools including support for sparse arrays
  • Mathematical function graphing and animation tools
  • Solvers for systems of equations, diophantine equationsODEsPDEsDAEsDDEs and recurrence relations
  • Numeric and symbolic tools for discrete and continuous calculus including definite and indefinite integration, definite and indefinite summation, automatic differentiation and continuous and discrete integral transforms
  • Constrained and unconstrained local and global optimization
  • Statistics including model fitting, hypothesis testing, and probability distributions
  • Tools for data manipulation, visualization and analysis
  • Tools for probability and combinatoric problems
  • Support for time-series and unit based data
  • Connection to online collection of financial and economic data
  • Tools for financial calculations including bonds, annuities, derivatives, options etc.
  • Calculations and simulations on random processes
  • Tools for text mining including regular expressions
  • Tools for signal processing and linear and non-linear Control systems
  • Discrete math tools including number theory
  • Tools for visualizing and analysing directed and undirected graphs
  • Group theory including permutation and finitely presented groups
  • Symbolic tensor functions
  • Import and export filters for data, image, sound, CAD, and document formats
  • Technical word processing including formula editing
  • Programming language supporting proceduralfunctional and object-oriented constructs
  • Tools for adding user interfaces to calculations and applications
  • Tools for connecting to SQLJava.NETC++Fortran and http
  • Tools for generating code for CC#FortranJavaJavaScriptJuliaMatlabPerlPythonR, and Visual Basic
  • Tools for parallel programming

Examples of Maple code[edit]

Sample imperative programming constructs:

myfac := proc(n::nonnegint) local out, i; out := 1; for i from 2 to n do out := out * i end do; out end proc; 

Simple functions can also be defined using the "maps to" arrow notation:

 myfac := n -> product( i, i=1..n ); 

Integration[edit]

Find

{\displaystyle \int \cos \left({\frac {x}{a}}\right)dx}\int \cos \left({\frac {x}{a}}\right)dx.
int(cos(x/a), x);

Answer:

{\displaystyle a\sin \left({\frac {x}{a}}\right)}a\sin \left({\frac {x}{a}}\right)

Determinant[edit]

Compute the determinant of a matrix.

 M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]); # example Matrix 
{\displaystyle {\begin{bmatrix}1&2&3\\a&b&c\\x&y&z\end{bmatrix}}}{\begin{bmatrix}1&2&3\\a&b&c\\x&y&z\end{bmatrix}}
LinearAlgebra:-Determinant(M);
{\displaystyle bz-cy+3ay-2az+2xc-3xb}bz-cy+3ay-2az+2xc-3xb

Series expansion[edit]

series(tanh(x),x=0,15)
{\displaystyle x-{\frac {1}{3}}\,x^{3}+{\frac {2}{15}}\,x^{5}-{\frac {17}{315}}\,x^{7}}x-{\frac {1}{3}}\,x^{3}+{\frac {2}{15}}\,x^{5}-{\frac {17}{315}}\,x^{7}
{\displaystyle +{\frac {62}{2835}}\,x^{9}-{\frac {1382}{155925}}\,x^{11}+{\frac {21844}{6081075}}\,x^{13}+O(x^{15})}+{\frac {62}{2835}}\,x^{9}-{\frac {1382}{155925}}\,x^{11}+{\frac {21844}{6081075}}\,x^{13}+O(x^{15})

Solve equation numerically[edit]

High order polynomial equation

 f := x^53-88*x^5-3*x-5 = 0 fsolve(f) -1.097486315, -.5226535640, 1.099074017 

Solve equation set[edit]

 f := (cos(x+y))^2 + exp(x)*y+cot(x-y)+cosh(z+x) = 0: g := x^5 - 8*y = 2: h := x+3*y-77*z=55; fsolve( {f,g,h} ); {x = -1.543352313, y = -1.344549481, z = -.7867142955} 

Plotting of function of single variable[edit]

  • Plot {\displaystyle x\cdot \sin(x)}x\cdot \sin(x) with {\displaystyle x}x ranging from -10 to 10
plot(x*sin(x),x=-10..10);
Maple1DPlot.PNG
 

Plotting of function of two variables[edit]

  • Plot {\displaystyle x^{2}+y^{2}}x^{2}+y^{2} with {\displaystyle x}x and {\displaystyle y}y ranging from -1 to 1
plot3d(2-x-(y^2-x^2)^0.5), x=0..1, y=0..1);
Maple163DPlot.jpg
 

Animation of functions[edit]

  • animation of function of two variables
{\displaystyle f:=2\cdot k^{2}/\cosh(k\cdot (x-4\cdot k^{2}\cdot t))^{2}}f:=2\cdot k^{2}/\cosh(k\cdot (x-4\cdot k^{2}\cdot t))^{2}
plots:-animate(subs(k = .5, f), x=-30..30, t=-10..10, numpoints=200, frames=50, color=red, thickness=3);
 
2D bell solution
  • animation of functions of three variables
plots:-animate3d(cos(t*x)*sin(3*t*y), x=-Pi..Pi, y=-Pi..Pi, t=1..2);
 
3D animation of function
  • Fly-through animation of 3-D plots.[12]
M := Matrix([[400,400,200], [100,100,-400], [1,1,1]], datatype=float[8]):
plot3d(1, x=0..2*Pi, y=0..Pi, axes=none, coords=spherical, viewpoint=[path=M]);
 
Maple plot3D fly-through

Laplace transform[edit]

f := (1+A*t+B*t^2)*exp(c*t);
{\displaystyle (1+A\cdot t+B\cdot t^{2})\cdot e^{c\cdot t}}(1+A\cdot t+B\cdot t^{2})\cdot e^{c\cdot t}
inttrans:-laplace(f, t, s);
{\displaystyle {\frac {1}{s-c}}+{\frac {A}{(s-c)^{2}}}+{\frac {2B}{(s-c)^{3}}}}{\frac {1}{s-c}}+{\frac {A}{(s-c)^{2}}}+{\frac {2B}{(s-c)^{3}}}
  • inverse Laplace transform
inttrans:-invlaplace(1/(s-a),s,x)
{\displaystyle e^{ax}}e^{{ax}}

Fourier transform[edit]

 inttrans:-fourier(sin(x),x,w) 
{\displaystyle \mathrm {I} \pi \,(\mathrm {Dirac} (w+1)-\mathrm {Dirac} (w-1))}\mathrm {I} \pi \,(\mathrm {Dirac} (w+1)-\mathrm {Dirac} (w-1))

Integral equations[edit]

Find functions {\displaystyle f}f that satisfy the integral equation

{\displaystyle f(x)-3\int _{-1}^{1}(xy+x^{2}y^{2})f(y)dy=h(x)}f(x)-3\int _{-1}^{1}(xy+x^{2}y^{2})f(y)dy=h(x).
 eqn:= f(x)-3*Int((x*y+x^2*y^2)*f(y), y=-1..1) = h(x): intsolve(eqn,f(x)); 
{\displaystyle f\left(x\right)=\int _{-1}^{1}\!\left(-15\,{x}^{2}{y}^{2}-3\,xy\right)h\left(y\right){dy}+h\left(x\right)}f\left(x\right)=\int _{-1}^{1}\!\left(-15\,{x}^{2}{y}^{2}-3\,xy\right)h\left(y\right){dy}+h\left(x\right)

Use of the Maple engine[edit]

The Maple engine is used within several other products from Maplesoft:

  • Maple T.A., Maplesoft’s online testing suite, uses Maple to algorithmically generate questions and grade student responses.
  • MapleNet allows users to create JSP pages and Java Applets. MapleNet 12 and above also allow users to upload and work with Maple worksheets containing interactive components.
  • MapleSim, an engineering simulation tool.[13]

Listed below are third-party commercial products that no longer use the Maple engine:

  • Versions of Mathcad released between 1994 and 2006 included a Maple-derived algebra engine (MKM, aka Mathsoft Kernel Maple), though subsequent versions use MuPAD.
  • Symbolic Math Toolbox in MATLAB contained a portion of the Maple 10 engine, but now uses MuPAD (starting with MATLAB R2007b+ release).[14]
  • Older versions of the mathematical editor Scientific Workplace included Maple as a computational engine, though current versions include MuPAD.

See also[edit]

 

 

《Maple 指令》7.0版本
第1章 章數
1.1 複數
Re,Im - 返回複數型 表達式的實部/虛部
abs -絕對值函數
argument - 複數的幅角函數
conjugate - 返回共軛複數
csgn - 實數和複數表達式的符號函數
signum - 實數和複數表達式的sign 函數5
1.2 MAPLE 常數
已知的變量名稱
指數常數(以天然對數爲底)
I - x^2 = -1 的根
infinity 無窮大
1.3 整數函數
! - 階乘函數
irem, iquo - 整數的餘數/商
isprime - 素數測試
isqrfree - 無整數平方的因數分解
max, min - 數的最大值/最小值
mod, modp, mods - 計算對 m 的整數模
rand - 隨機數生成器
randomize - 重置隨機數生成器
1.4 素數
Randpoly, Randprime - 有限域的隨機多項式/首一素數多項式
ithprime - 肯定第 i 個素數
nextprime, prevprime - 肯定下一個最大/最小素數
1.5 數的進制轉換
convert/base - 基數之間的轉換
convert/binary - 轉換爲二進制形式
convert/decimal - 轉換爲 10 進制
convert/double - 將雙精度浮點數由一種形式轉換爲另外一種形式
convert/float - 轉換爲浮點數
convert/hex - 轉換爲十六進制形式
convert/metric - 轉換爲公制單位
convert/octal - 轉換爲 八進制形式
1.6 數的類型檢查
type - 數的類型檢查函數
第2章 初等數學
2.1 初等函數
product - 肯定乘積求和不肯定乘積
exp - 指數函數
sum - 肯定求和不肯定求和
sqrt - 計算平方根
算術運算符+, -, *, /, ^
add, mul - 值序列的加法/乘法
2.2 三角函數
arcsin, arcsinh, . - 反三角函數/反雙曲函數
sin, sinh, . - 三角函數/雙曲函數
2.3 LOGARITHMS 函數
dilog - Dilogarithm 函數
ln, log, log10 - 天然對數/通常對數,經常使用對數
2.4 類型轉換
convert/`+`,convert/`*` - 轉換爲求和/乘積
convert/hypergeom - 將求和轉換爲超越函數
convert/degrees - 將弧度轉換爲度
convert/expsincos - 將trig 函數轉換爲exp, sin, cos
convert/Ei - 轉換爲指數積分
convert/exp - 將trig 函數轉換爲指數函數
convert/ln - 將arctrig 轉換爲對數函數
polar - 轉換爲極座標形式
convert/radians - 將度轉換爲弧度
convert/sincos - 將trig 函數轉換爲sin, cos, sinh, cosh
convert/tan - 將trig 函數轉換爲tan
convert/trig - 將指數函數轉換爲三角函數和雙曲函數
第3章 求值
3.1 假設功能
3.2 求值
Eval - 對一個 表達式求值
eval - 求值
evala - 在代數數(或者函數)域求值
evalb - 按照一個 布爾表達式求值
evalc - 在複數域上符號求值
evalf - 使用浮點算法求值
evalhf - 用硬件浮點數算法對錶達式求值
evalm - 對矩陣表達式求值
evaln - 求值到一個名稱
evalr, shake - 用區間算法求表達式的值和計算範圍
evalrC - 用複數區間算法對 表達式求值
value - 求值的惰性函數
第4章 求根,解方程
4.1 數值解
fsolve - 利用浮點數算法求解
solve/floats - 包含浮點數的表達式
4.2 最優化
extrema - 尋找一個表達式的相對極值
minimize, maximize - 計算最小值/最大值
maxnorm - 一個多項式無窮大範數
4.3 求根
allvalues -計算含有RootOfs的 表達式的全部可能值
isqrt, iroot - 整數的平方根/第n 次根
realroot - 一個多項式的實數根的隔離區間
root - 一個代數表達式的第n 階根
RootOf - 方程根的表示
surd - 非主根函數
roots - 一個多項式對一個變量的精確根
turm, sturmseq - 多項式在區間上的實數根數和實根序列
4.4 解方程
eliminate - 消去一個方程組中的某些變量
isolve - 求解方程的整數解
solvefor - 求解一個方程組的一個或者多個變量
isolate - 隔離一個方程左邊的一個子 表達式
singular - 尋找一個表達式的極點
solve/identity - 求解包含屬性的表達式
solve/ineqs - 求解不等式
solve/linear - 求解線性方程組
solve/radical - 求解含有未知量根式的方程
solve/scalar - 標量狀況(單變量和方程)
solve/series - 求解含有通常級數的方程
solve/system - 解方程組或不等式組
第5章 操做表達式
5.1 處理表達式
Norm - 代數數 (或者函數) 的標準型
Power - 惰性冪函數
Powmod -帶餘數的惰性冪函數
Primfield - 代數域的原始元素
Trace - 求一個代數數或者函數的跡
charfcn - 表達式和集合的特徵函數
Indets - 找一個表達式的變元
invfunc - 函數表的逆
powmod - 帶餘數的冪函數
Risidue - 計算一個表達式的代數餘
combine -表達式合併(對tan,cot很差用)
expand -表達式展開
Expand - 展開表達式的惰性形式
expandoff/expandon - 抑制/不抑制函數展開
5.2 因式分解
Afactor - 絕對因式分解的惰性形式
Afactors - 絕對因式分解分解項列表的惰性形式
Berlekamp - 因式分解的Berlekamp 顯式度
factor - 多元的多項式的因式分解
factors - 多元多項式的因式分解列表
Factor - 函數factor 的惰性形式
Factors - 函數factors 的惰性形式
polytools[splits] - 多項式的徹底因式分解
第6章 化簡
6.1 表達式化簡118
simplify - 給一個表達式實施化簡規則
simplify/@ - 利用運算符化簡 表達式
simplify/Ei - 利用指數積分化簡表達式
simplify/GAMMA - 利用GAMMA 函數進行化簡
simplify/RootOf - 用RootOf 函數化簡表達式
simplify/wronskian - 化簡含wronskian 標識符的表達式
simplify/hypergeom - 化簡超越函數 表達式
simplify/ln - 化簡含有對數的表達式
simplify/piecewise - 化簡分段函數表達式
simplify/polar - 化簡含有極座標形式的複數型表達式
simplify/power - 化簡含冪次的表達式
simplify/radical - 化簡含有根式的表達式
simplify/rtable - 化簡rtable表達式
simplify/siderels - 使用關係式進行化簡
simplify/sqrt - 根式化簡
simplify/trig - 化簡trig 函數 表達式
simplify/zero - 化簡含嵌入型實數和虛數的複數表達式
6.2 其它化簡操做
Normal - normal 函數的惰性形式
convert - 將一個表達式轉換成不一樣形式
radnormal - 標準化一個含有根號數的表達式
rationalize - 分母有理化
第7章 操做多項式
7.0 MAPLE 中的多項式簡介
7.1 提取
coeff - 提取一個多項式的係數
coeffs - 提取多元的多項式的全部係數
coeftayl - 多元表達式的係數
lcoeff, tcoeff - 返回多元多項式的首項和末項係數
7.2 多項式約數和根
gcd, lcm - 多項式的最大公約數/最小公倍數
psqrt, proot - 多項式的平方根和第n次根
rem,quo - 多項式的餘數/商
7.3 操縱多項式
convert/horner - 將一個多項式轉換成Horner形式
collect - 象冪次同樣合併係數
compoly - 肯定一個多項式的可能合併的項數
convert/polynom - 將級數轉換成多項式形式
convert/mathorner - 將多項式轉換成Horner矩陣形式
convert/ratpoly - 將級數轉換成有理多項式
sort - 將值的列表或者多項式排序
sqrfree - 不含平方項的因數分解函數
7.4 多項式運算
discrim - 多項式的判別式
fixdiv - 計算多項式的固定除數
norm - 多項式的標準型
resultant - 計算兩個多項式的終結式
bernoulli - Bernoulli 數和多項式
bernstein - 用Bernstein多項式近似一個函數
content, primpart - 一個多元的多項式的內容和主部
degree, ldegree - 一個多項式的最高次方/最低次方
divide - 多項式的精確除法
euler - Euler 數和多項式
icontent - 多項式的整數部分
interp - 多項式的插值
prem, sprem - 多項式的pseudo 餘數和稀疏pseudo 餘數
randpoly - 隨機多項式生成器
spline - 計算天然樣條函數
第8章 有理表達式
8.0 有理表達式簡介
8.1 操做有理多項式
numer,denom - 返回一個 表達式的分子/分母
frontend - 將通常的表達式處理成一個有理表達式
normal - 標準化一個有理表達式
convert/parfrac - 轉換爲部分分數形式
convert/rational - 將浮點數轉換爲接近的有理數
ratrecon - 重建有理函數
第9章 微積分
9.1 取極限
Limit, limit - 計算極限
limit[dir] - 計算方向極限
limit[multi] - 多重方向極限
limit[return] - 極限的返回值
9.2 連續性測試
discont - 尋找一個函數在實數域上的間斷點
fdiscont - 用數值法尋找函數在實數域上的間斷點
iscont - 測試在一個區間上的連續性
9.3 微分計算
D - 微分算子
D, diff - 運算符D 和函數diff
diff, Diff - 微分或者偏微分
convert/D - 將含導數 表達式轉換爲D運算符表達式
convert/diff - 將D(f)(x)表達式轉換爲diff(f(x),x)的形式
implicitdiff - 由一個方程定義一個函數的微分
9.4 積分計算
Si, Ci … - 三角和雙曲積分
Dirac, Heaviside - Dirac 函數/Heaviside階梯函數
Ei - 指數積分
Elliptic - 橢圓積分
FresnelC, … - Fresnel 正弦,餘弦積分和輔助函數
int, Int - 定積分和不定積分
LegendreP, … - Legendre 函數及其第一和第二類函數
Li - 對數積分
student[changevar] - 變量代換
dawson - Dawson 積分
ellipsoid - 橢球體的表面積
evalf(int) - 數值積分
intat, Intat - 在一個點上積分求值
第10章 微分方程
10.1 微分方程分類
odeadvisor - ODE-求解分析器
DESol - 表示微分方程解的數據結構
pdetest - 測試pdsolve 能找到的偏微分方程(PDEs)解
10.2 常微分方程求解
dsolve - 求解常微方程 (ODE)
dsolve - 用給定的 初始條件求解ODE 問題
dsolve/inttrans - 用積分變換方法求解常微分方程
dsolve/numeric - 常微方程數值解
dsolve/piecewise - 帶分段係數的常微方程求解
dsolve - 尋找ODE 問題的級數解
dsolve - 求解ODEs 方程組
odetest - 從ODE 求解器中測試結果是顯式或者隱式類型
10.3 偏微分方程求解
pdsolve - 尋找偏微分方程 (PDEs) 的解析解
第11章 數值計算
11.1 MAPLE 中的數值計算環境
IEEE 標準和Maple數值計算
數據類型
特殊值
11.2 算法
標準算法
複數算法
含有0,無窮和未定義數的算法
11.3 數據構造器254
complex - 複數和複數 構造器
Float, … - 浮點數及其構造器
Fraction - 分數及其的構造器
integer - 整數和整數構造器
11.4 MATLAB軟件包簡介
11.5 「」區間類型 表達式
第12章級數
12.1 冪級數的階數
Order - 階數項函數
order - 肯定級數的截斷階數
12.2 常見級數展開
series - 通常的級數展開
taylor - Taylor 級數展開
mtaylor - 多元Taylor級數展開
poisson - Poisson級數展開.268
12.3 其它級數
eulermac - Euler-Maclaurin求和
piecewise - 分段連續函數
asympt - 漸進展開
第13章 特殊函數
AiryAi, AiryBi - Airy 波動函數
AiryAiZeros, AiryBiZeros - Airy函數的實數零點
AngerJ, WeberE - Anger函數和Weber函數
BesselI, HankelH1, … - Bessel函數和Hankel函數
BesselJZeros, … - Bessel函數實數零點
Beta - Beta函數
EllipticModulus - 模數函數k(q)
GAMMA, lnGAMMA - 徹底和不徹底Gamma函數
GaussAGM - Gauss 算術的幾何平均數
JacobiAM, ., - Jacobi 振幅函數和 橢圓函數
JacobiTheta1, JacobiTheta4 - Jacobi theta函數
JacobiZeta - Jacobi 的Zeta函數
KelvinBer, KelvinBei - Kelvin函數
KummerM, - Kummer M函數和U函數
LambertW - LambertW函數
LerchPhi - 通常的Lerch Phi函數
LommelS1, LommelS2 - Lommel函數
MeijerG - 一個修正的Meijer G函數
Psi - Digamma 和Polygamma函數
StruveH, StruveL - Struve函數
WeierstrassP - Weierstrass P函數及其導數
WhittakerM - Whittaker 函數
Zeta - Zeta 函數
erf, … - 偏差函數,補充的偏差函數和虛數偏差函數
harmonic - 調和函數
hypergeom - 廣義的超越函數
pochhammer - 通常的pochhammer函數
polylog - 通常的polylogarithm函數
第14章 線性代數
14.1 ALGEBRA(代數)中矩陣,矢量和 數組
14.2 LINALG軟件包簡介
14.3數據結構
矩陣matrices(小寫)
矢量vectors(矢量)
convert/matrix - 將數組,列表,Matrix 轉換成matrix
convert/vector - 將列表,數組或Vector 轉換成矢量vector
linalg[matrix] - 生成矩陣matrix(小寫)
linalg[vector] - 生成矢量vector(小寫)
14.4 惰性函數
Det - 惰性行列式運算符
Eigenvals - 數值型矩陣的特徵值和特徵向量
Hermite, Smith - 矩陣的Hermite 和Smith 標準型
14.5 LinearAlgebra函數
Matrix 定義矩陣
Add 加/減矩陣
Adjoint 伴隨矩陣
BackwardSubstitute 求解 A . X = B,其中 A 爲上三角型行階梯矩陣
BandMatrix 帶狀矩陣
Basis 返回向量空間的一組基
SumBasis 返回向量空間直和的一組基
IntersectionBasis 返回向量空間交的一組基
BezoutMatrix 構造兩個多項式的 Bezout 矩陣
BidiagonalForm 將矩陣約化爲雙對角型
CharacteristicMatrix 構造特徵矩陣
CharacteristicPolynomial 構造矩陣的特徵多項式
CompanionMatrix 構造一個首一(或非首一)多項式或矩陣多項式的友矩陣(束)
ConditionNumber 計算矩陣關於某範數的條件數
ConstantMatrix 構造常數矩陣
ConstantVector 構造常數向量
Copy 構造矩陣或向量的一份複製
CreatePermutation 將一個 NAG 主元向量轉換爲一個置換向量或矩陣
CrossProduct 向量的叉積
`&x` 向量的叉積
DeleteRow 刪除矩陣的行
DeleteColumn刪除矩陣的列
Determinant 行列式
Diagonal 返回從矩陣中獲得的向量序列
DiagonalMatrix 構造(分塊) 對角矩陣
Dimension 行數和列數
DotProduct 點積
BilinearForm 向量的雙線性形式
EigenConditionNumbers 計算數值特徵值制約問題的特徵值或特徵向量的條件數
Eigenvalues 計算矩陣的特徵值
Eigenvectors 計算矩陣的特徵向量
Equal 比較兩個向量或矩陣是否相等
ForwardSubstitute 求解 A . X = B,其中 A 爲下三角型行階梯矩陣
FrobeniusForm 將一個方陣約化爲 Frobenius 型(有理標準型)
GaussianElimination 對矩陣做 高斯消元
ReducedRowEchelonForm 對矩陣做高斯-約當消元
GetResultDataType 返回矩陣或向量運算的結果數據類型
GetResultShape 返回矩陣或向量運算的結果形狀
GivensRotationMatrix 構造 Givens 旋轉的矩陣
GramSchmidt 計算一個正交向量集
HankelMatrix 構造一個 Hankel 矩陣
HermiteForm 計算一個矩陣的 Hermite 正規型
HessenbergForm 將一個方陣約化爲上 Hessenberg 型
HilbertMatrix 構造廣義 Hilbert 矩陣
HouseholderMatrix 構造 Householder 反射矩陣
IdentityMatrix 構造一個單位矩陣
IsDefinite 檢驗矩陣的正定性,負定性或不定性
IsOrthogonal 檢驗矩陣是否正交
IsUnitary 檢驗矩陣是否爲酉矩陣
IsSimilar 肯定兩個矩陣是否類似
JordanBlockMatrix 構造約當塊矩陣
JordanForm 將矩陣約化爲約當型
KroneckerProduct 構造兩個矩陣的 Kronecker 張量積
LeastSquares 方程的最小二乘解
LinearSolve 求解線性方程組 A . x = b
LUDecomposition 計算矩陣的 Cholesky,PLU 或 PLU1R 分解
Map 將一個程序映射到一個 表達式上,對矩陣和向量在原位置上進行處理
MatrixAdd 計算兩個矩陣的線性組合
VectorAdd 計算兩個向量的線性組合
MatrixExponential 肯定一個矩陣 A 的矩陣指數 exp(A)
MatrixFunction 肯定方陣 A 的函數 F(A)
MatrixInverse 計算方陣的逆或矩陣的 Moore-Penrose 僞逆
MatrixMatrixMultiply 計算兩個矩陣的乘積
MatrixVectorMultiply 計算一個矩陣和一個列向量的乘積
VectorMatrixMultiply 計算一個行向量和一個矩陣的乘積
MatrixPower 矩陣的冪
MinimalPolynomial 構造矩陣的最小多項式
Minor 計算矩陣的子式
Multiply 矩陣相乘
Norm 計算矩陣或向量的p-範數
MatrixNorm 計算矩陣的p-範數
VectorNorm 計算向量的p-範數
Normalize 向量正規化
NullSpace 計算矩陣的零度零空間
OuterProductMatrix 兩個向量的外積
Permanent 方陣的不變量
Pivot 矩陣元素的主元消去法
PopovForm Popov 正規型
QRDecomposition QR 分解
RandomMatrix 構造 隨機矩陣
RandomVector 構造隨機向量
Rank 計算 矩陣的秩
Row 返回矩陣的一個行向量序列
Column 返回矩陣的一個列向量序列
RowOperation 對矩陣做初等行變換
ColumnOperation 對矩陣做出等列變換
RowSpace 返回矩陣行空間的一組基
ColumnSpace 返回矩陣列空間的一組基
ScalarMatrix 構造一個單位矩陣的數量倍數
ScalarVector 構造一個單位向量的數量倍數
ScalarMultiply 矩陣與數的乘積
MatrixScalarMultiply 計算矩陣與數的乘積
VectorScalarMultiply 計算向量與數的乘積
SchurForm 將方陣約化爲 Schur 型
SingularValues 計算矩陣的奇異值
SmithForm 將矩陣約化爲 Smith 正規型
StronglyConnectedBlocks 計算方陣的強連通塊
SubMatrix 構造矩陣的子矩陣
SubVector 構造向量的子向量
SylvesterMatrix 構造兩個多項式的 Sylvester 矩陣
ToeplitzMatrix 構造 Toeplitz 矩陣
Trace 計算方陣的跡
Transpose 轉置矩陣
HermitianTranspose 共軛轉置矩陣
TridiagonalForm 將方陣約化爲三對角型
UnitVector 構造單位向量
VandermondeMatrix 構造一個 Vandermonde 矩陣
VectorAngle 計算兩個向量的夾角
ZeroMatrix 構造一個零矩陣
ZeroVector 構造一個零向量
Zip 將一個具備兩個參數的程序做用到一對矩陣或向量上
LinearAlgebra[Generic] 子函數包 [Generic] 子函數包提供做用在場, 歐幾里得域,積分域和環上的線性代數算法。命令列表和詳細信息見幫助系統。
LinearAlgebra[Modular] 子函數包 [Modular] 子函數包提供一組工具用於完成在 Z/m 稠密線性代數計算,整數模m。
相關文章
相關標籤/搜索