Maple基础教程(修订稿)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Maple 基础
一Maple 的基本运算
1 数值计算问题
在应用Maple 做算术运算时, 只需将Maple 当作一个“计算器”使用, 所不同的是命令结束时需加“;”或“:”.
在Maple 中, 主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**),值得注意的是, “^”的表达式只能有两个操作数, 换言之, c b a ^^是错误的, 而“+”或“*”的任意表达式可以有两个或者两个以上的操作数. 2.1.1 有理数运算
作为一个符号代数系统, Maple 可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时, 只需在任意一个整数后加“.”(或“.0”), 或者利用“evalf ”命令把表达式转换成浮点形式, 默认浮点数位是10 (即: Digits:=10, 据此可任意改变浮点数位, 如Digits:=20). > 123456789/987654321;
13717421109739369
> evalf(%);
.1249999989
> big_number:=3^(3^3);
:= big_number 7625597484987
> length(%);
13
函数“length ”作用在整数上时是整数的十进制位数即数字的长度. “%”是一个非常有用的简写形式, 表示最后一次执行结果
1)整数的余(irem)/商(iquo)
命令格式:
irem(m,n); #求m 除以n 的余数
irem(m,n,'q'); #求m 除以n 的余数, 并将商赋给q iquo(m,n); #求m 除以n 的商数
iquo(m,n,'r'); #求m 除以n 的商数, 并将余数赋给r
其中, m, n 是整数或整数函数, 也可以是代数值, 此时, irem 保留为未求值.
2)素数判别(isprime) 命令格式: isprime(n);
如果判定n 可分解, 则返回false, 如果返回true, 则n “很可能”是素数. > isprime(2^(2^4)+1);
true
3) 确定第i 个素数(ithprime)
若记第1个素数为2,判断第i个素数的命令格式: ithprime(i);
4) 一组数的最大值(max)/最小值(min)
命令格式: max(x1,x2,…,xn); #求x1,x2,…,x n中的最大值
min(x1,x2,…,xn); #求x1,x2,…,x n中的最小值
5)随机数生成器(rand)
命令格式:
rand( ); #随机返回一个12位数字的非负整数
rand(a..b); #调用rand(a..b)返回一个程序, 它在调用时生成一个在范围[a, b]内的随机数
> rand();
427419669081
> myproc:=rand(1..2002):
> myproc();
1916
> myproc();
1204
注意, rand(n)是rand(0..n-1)的简写形式.
2.1.2 复数运算
复数是Maple中的基本数据类型. 虚数单位i在Maple中用I表示可以用Re( )、Im( )、conjugate( )和argument( )等函数分别计算实数的实部、虚部、共轭复数和幅角主值等运算. 试作如下实验:
> complex_number:=(1+2*I)*(3+4*I);
:=
-510I
complex_number +
> Re(%);Im(%%);conjugate(%%%);argument(complex_number);
-5
10
-510I
-
arctan2π
()
- +
1) 绝对值函数
命令格式: abs(expr);
当expr为实数时,返回其绝对值,当expr为复数时,返回复数的模.
2)复数的幅角函数
命令格式: argument(x); #返回复数x的幅角的主值
3)共轭复数
命令格式: conjugate(x); #返回x的共轭复数
2.2 初等数学
2.2.1 常用函数
1) 确定乘积和不确定乘积 命令格式: product(f,k);
product(f,k=m..n); product(f,k=alpha); product(f,k=expr);
其中, f —任意表达式, k —乘积指数名称, m,n —整数或任意表达式, alpha —代数数RootOf, expr —包含k 的任意表达式.
> product(k^2,k=1..10); #计算2
k 关于1..10的连乘
13168189440000
> product(k^2,k); #计算2
k 的不确定乘积
()Γk 2
> product(a[k],k=0..5); #计算a i (i=0..5)的连乘
a 0a 1a 2a 3a 4a 5
> Product(n+k,k=0..m)=product(n+k,k=0..m); #计算(n+k)的连乘, 并写出其惰性表达式
=
∏
= k 0
m
() + n k ()
Γ + + n m 1()
Γn
> product(k,k=RootOf(x^3-2)); #计算23
-x 的三个根的乘积
2
2)指数函数
计算指数函数exp 关于x 的表达式的命令格式为: exp(x); 3)确定求和与不确定求和sum 命令格式: sum(f,k);
sum(f,k=m..n); sum(f,k=alpha); sum(f,k=expr);
其中, f —任意表达式, k —乘积指数名称, m,n —整数或任意表达式, alpha —代数数RootOf, expr —不含k 的表达式.
> Sum(k^2,k=1..n)=sum(k^2,k=1..n);
= ∑ = k 1
n
k 2 - + + 13() + n 1312() + n 12
16n 16 > Sum(1/k!,k=0..infinity)=sum(1/k!,k=0..infinity);