Maple拥有优秀的符号计算和数值计算能力

 

 

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

 

 

Maple高级应用和经典实例:  https://wenku.baidu.com/view/f24696210722192e4536f65d.html

Maple高级应用和经典实例: http://vdisk.weibo.com/s/dbLrQxb6KthZA

 

 

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显示数据)。

我现在用ML,主要做些数据处理;用MM,主要推些公式。

要补充的是,ML也带有符号计算的功能,但是借用的MuPAD内核(以前貌似是Maple的);而MM也能作数值计算,而且能计算到任意精确的程度。但我认为这些都不是两者的核心功能。参考linux的观点,各个软件将某一方面的能力提升到极致,最后组合起来,可以非常强大。
楼上提到MATLAB脚本字体之类的问题,其实完全可以用其他编辑器编辑脚本,然后用ML调用脚本去跑。ML自带编辑器,对我来说是很奇怪的事情,呵呵。
 
 
 

据个人的使用来说,我用这些软件都差不多有十来年,有些七八年的样子.
请相信专业的,顶尖的,自己的深入体会的.自己的眼光最重要,用事实说话,体会其中的精华,而不是表面
精华要从抽象层面和使用层面,这是软件生存的本质

抽象到极致,实践到极致,带点偏见,就是正见

谁用matlab不是冲着工具箱的话,他只用了1/10
谁用Mathematica和Maple不是用符号计算,那也只用了1/3
谁说Matlab也有符号计算的话,不知道他的符号引擎不是自己的,是第二流的引擎,请绕开

工具没有最好,有时候还有审美方面的需求,比如我就一直纠结在Maple和Mathematica之间
以至于两者都会,事实上我最强的是Matlab,使用最久,到现在估计差不多十年了

这些要看个人,工业界,科研界的评判
我看上面的解说,都是谁谁怎么样,您自己呢,但是体会有些地方感觉不怎么对,以下算作补充:

首先,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 release1982
 
Stable release
2016 / March 2, 2016
Written inCJava, Maple
PlatformMicrosoft Windows (7, 8 and 10), Apple OS XLinux
Available inEnglish, Japanese, and limited support in additional languages[1]
TypeComputer algebra systemNumeric computation
LicenseProprietary commercial software
Websitewww.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。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 2
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值