Maple
Maple界面 |
|
| 開發者 | Waterloo Maple Inc. (Maplesoft) |
|---|---|
| 穩定版本 | 14/ 2010年4月 |
| 程式語言 | C语言, Java, Maple language |
| 作業系統 | 跨平台 |
| 類型 | 计算机代数系统 |
| 許可協議 | 私有 |
| 網站 | www.maplesoft.com/products/maple/ |
Maple是一個通用型的商用計算機代數系統。Maple起源于1988年,由加拿大安大略滑鐵盧的一家公司,Maple Inc.(亦稱Maplesoft)进行开发和商業销售。最新版是Maple 14。它的主要競爭者是Mathematica。
目前共有四個版本:Personal(個人版),Professional(專業版),Academic(高校版)和Student(學生版)。
目录 |
[编辑] 總覽
[编辑] 核心功能
用戶能够直接使用傳統數學符號进行輸入,也可以定制个性化的界面。对于数值计算有额外的支持,能够扩展到任意精度,同时亦支持符號演算及可视化。符號演算的例子参见下文。Maple内建有一种动态的命令行风格的编程语言,该语言支持具有作用域的变量。同时亦有其他語言的接口(C、FORTRAN、Java、Matlab和Visual Basic)。还具有与Excel进行交互的接口。
[编辑] 架构
Maple由一个很小的由C语言编写的内核提供Maple语言。许多功能由各种来源的函数库提供。许多数值计算由NAG数值计算库, ATLAS库, GNU多精度库提供。大部分库由Maple语言编写,并且可查看源代码。
Maple中不同的功能需要不同格式的数值数据。符号表达式在内存中以有向无环图的形式存储。标准界面和计算界面由Java语言编写。经典界面由C语言编写。
[编辑] Maple代码示例
简单命令式程序的构造:
myfac := proc(n::nonnegint) local out, i; out := 1; for i from 2 to n do out := out * i end do; out end proc;
一些简单的函数也可以使用直观的箭头表示法表示
myfac := n -> product( i, i=1..n );
[编辑] 积分
求
.
integrate(cos(x/a), x);
答案: 
求
.
integrate(sin(x/a), x);
答案: 
[编辑] 求解线性微分方程
计算以下线性常微分方程的一个精确解
初始条件为 
dsolve( {diff(y(x),x,x) - 3*y(x) = x, y(0)=0, D(y)(0)=2}, y(x) );
答案: 
[编辑] 求根
求以下方程的数值解
从点
开始; 计算至75位。
evalf[75](RootOf(exp(x)=x^2+2,x,-1));
答案: 
[编辑] 求解方程和不等式
根据
,寻找
的所有整数解。
solve({x-y > 6, (x+y)^5 = 9}, [x, y])[];
答案: ![[x = 3^{2/5}-y, \quad y < \frac{1}{2}3^{2/5}-3]](http://upload.wikimedia.org/wikipedia/zh/math/5/9/2/592ab31db7cfb07afc18cdb1e4d1fb39.png)
[编辑] 行列式
计算矩阵的行列式。
M:= Matrix([[1,2,3], [a,b,c], [x,y,z]]); # 矩阵样例
LinearAlgebra:-Determinant(M);
答案: 
[编辑] 绘制单变量函数图形
绘制函数
,
plot(x*sin(x),x=-10..10);
[编辑] 绘制双变量函数
绘制函数
,
和
的范围为 -1 到 1
plot3d(x^2+y^2,x=-1..1,y=-1..1);
[编辑] 求解偏微分方程组
求解 偏微分方程组
条件为
.
eqn1:= diff(v(x, t), x) = -u(x,t)*v(x,t):
eqn2:= diff(v(x, t), t) = -v(x,t)*(diff(u(x,t), x))+v(x,t)*u(x,t)^2:
eqn3:= diff(u(x,t), t)+2*u(x,t)*(diff(u(x,t), x))-(diff(diff(u(x,t), x), x)) = 0:
pdsolve({eqn1,eqn2,eqn3,v(x,t)<>0},[u,v]): op(%);
答案: 
[编辑] 积分方程
寻找函数
满足 积分方程
.
eqn:= f(x)-3*Integrate((x*y+x^2*y^2)*f(y), y=-1..1) = h(x): intsolve(eqn,f(x));
答案: 
[编辑] 版本
| 版本 | 年份 |
|---|---|
| Maple 1.0 | 1982年1月 |
| Maple 1.1 | 1982年 |
| Maple 2.0 | 1982年5月 |
| Maple 2.1 | 1982年6月 |
| Maple 2.15 | 1982年8月 |
| Maple 2.2 | 1982年12月 |
| Maple 3.0 | 1983年5月 |
| Maple 3.1 | 1983年10月 |
| Maple 3.2 | 1984年4月 |
| Maple 3.3 | 1985年3月(第一個公開版本) |
| Maple 4.0 | 1986年4月 |
| Maple 4.1 | 1987年5月 |
| Maple 4.2 | 1987年12月 |
| Maple 4.3 | 1989年3月 |
| Maple V | 1990年8月 |
| Maple V R2 | 1992年11月 |
| Maple V R3 | 1994年3月15日 |
| Maple V R4 | 1996年1月 |
| Maple V R5 | 1997年11月1日 |
| Maple 6 | 2000年1月31日 |
| Maple 6.01 | ?年?月 |
| Maple 6.02 | ?年?月 |
| Maple 7.00 | 2001年5月28日 |
| Maple 7.01 | ?年?月 |
| Maple 8.00 | 2002年4月22日 |
| Maple 9.00 | 2003年6月30日 |
| Maple 9.01 | 2003年7月10日 |
| Maple 9.02 | 2003年?月 |
| Maple 9.03 | 2003年11月5日 |
| Maple 9.50 | 2004年4月7日 |
| Maple 9.51 | 2004年8月17日 |
| Maple 9.52 | 2005年1月21日 |
| Maple 10 | 2005年5月13日 |
| Maple 10.01 | 2005年?月 |
| Maple 10.02 | 2005年11月8日 |
| Maple 10.03 | ?年?月 |
| Maple 10.04 | 2006年5月30日 |
| Maple 10.05 | 2006年6月9日 |
| Maple 10.06 | 2006年10月2日 |
| Maple 11.0 | 2007年2月17日 |
| Maple 11.01 | 2007年7月10日 |
| Maple 11.02 | 2007年11月10日 |
| Maple 12.0 | 2008年4月10日 |
| Maple 12.01 | 2008年10月 |
| Maple 12.02 | 2008年12月 |
| Maple 13.0 | 2009年4月13日 |
| Maple 13.01 | 2009年7月8日 |
| Maple 13.02 | 2009年7月8日 |
| Maple 14.00 | 2010年4月5日 |
[编辑] 参见
注:现在MATLAB已改用MuPAD替代了matlab的Maple符号计算内核
[编辑] 外部链接
|
|||||||||||




