Maple基础教程修订稿.docx
- 文档编号:1211985
- 上传时间:2022-10-19
- 格式:DOCX
- 页数:60
- 大小:1.09MB
Maple基础教程修订稿.docx
《Maple基础教程修订稿.docx》由会员分享,可在线阅读,更多相关《Maple基础教程修订稿.docx(60页珍藏版)》请在冰豆网上搜索。
Maple基础教程修订稿
Maple基础
一Maple的基本运算
1数值计算问题
在应用Maple做算术运算时,只需将Maple当作一个“计算器”使用,所不同的是命令结束时需加“;”或“:
”.
在Maple中,主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**),值得注意的是,“^”的表达式只能有两个操作数,换言之,是错误的,而“+”或“*”的任意表达式可以有两个或者两个以上的操作数.
2.1.1有理数运算
作为一个符号代数系统,Maple可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时,只需在任意一个整数后加“.”(或“.0”),或者利用“evalf”命令把表达式转换成浮点形式,默认浮点数位是10(即:
Digits:
=10,据此可任意改变浮点数位,如Digits:
=20).
>123456789/987654321;
>evalf(%);
>big_number:
=3^(3^3);
>length(%);
函数“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);
3)确定第i个素数(ithprime)
若记第1个素数为2,判断第i个素数的命令格式:
ithprime(i);
4)一组数的最大值(max)/最小值(min)
命令格式:
max(x1,x2,…,xn);#求x1,x2,…,xn中的最大值
min(x1,x2,…,xn);#求x1,x2,…,xn中的最小值
5)随机数生成器(rand)
命令格式:
rand();#随机返回一个12位数字的非负整数
rand(a..b);#调用rand(a..b)返回一个程序,它在调用时生成一个在范围[a,b]内的随机数
>rand();
>myproc:
=rand(1..2002):
>myproc();
>myproc();
注意,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);
>Re(%);Im(%%);conjugate(%%%);argument(complex_number);
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);#计算关于1..10的连乘
>product(k^2,k);#计算的不确定乘积
>product(a[k],k=0..5);#计算ai(i=0..5)的连乘
>Product(n+k,k=0..m)=product(n+k,k=0..m);#计算(n+k)的连乘,并写出其惰性表达式
>product(k,k=RootOf(x^3-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);
>Sum(1/k!
k=0..infinity)=sum(1/k!
k=0..infinity);
>sum(a[k]*x[k],k=0..n);
>sum(k/(k+1),k=RootOf(x^2-3));
3)三角函数/双曲函数
命令格式:
sin(x);cos(x);tan(x);cot(x);sec(x);csc(x);
sinh(x);cosh(x);tanh(x);coth(x);sech(x);csch(x);
其中,x为任意表达式.
>Sin(Pi)=sin(Pi);
4)反三角函数/反双曲函数
命令格式:
arcsin(x);arccos(x);arctan(x);arccot(x);arcsec(x);arccsc(x);
arcsinh(x);arccosh(x);arctanh(x);arccoth(x);arcsech(x);arccsch(x);
arctan(y,x);
其中,x,y为表达式.反三角函数/反双曲函数的参数必须按弧度计算.
>arcsinh
(1);
>cos(arcsin(x));
5)对数函数
命令格式:
ln(x);#自然对数
log[a](x);#一般对数
log10(x);#常用对数
一般地,在ln(x)中要求x>0.但对于复数型表达式x,有:
(其中,)
>log10(1000000);
>simplify(%);#化简上式
2.2.2函数的定义
试看下面一个例子:
>f(x):
=a*x^2+b*x+c;---并不是函数,而是一个表达式
>f(x),f(0),f(1/a);
由上述结果可以看出,用赋值方法定义的f(x)是一个表达式而不是一个函数
在Maple中,要真正完成一个函数的定义,需要用算子(也称箭头操作符):
>f:
=x->a*x^2+b*x+c;
>f(x),f(0),f(1/a);
>f:
=(x,y)->x^2+y^2;
>f(1,2);
>f:
=(x,y)->a*x*y*exp(x^2+y^2);
另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数.
命令格式为:
f:
=unapply(expr,x);
命令格式为:
f:
=unapply(expr,x,y,…);
>f:
=unapply(x^4+x^3+x^2+x+1,x);
借助函数piecewise可以生成简单分段函数:
>abs(x)=piecewise(x>0,x,x=0,0,x<0,-x);
清除函数的定义用命令unassign.
>unassign(f);
>f(1,1);
定义了一个函数后,就可以使用op或nops指令查看有关函数中操作数的信息.nops(expr),函数op的主要功能是,其命令格式为:
op(expr);#获取表达式的操作数
op(i,expr);#取出expr里第i个操作数,
op(i..j,expr);#expr的第i到第j个操作数
nops(expr);#返回操作数的个数
>expr:
=6+cos(x)+sin(x)*cos(x)^2;
>op(expr);
>nops(expr);
2.2.3Maple中的常量与变量名
为了解决数学问题,一些常用的数学常数是必要的.Maple系统中已经存储了一些数学常数在表达式序列constants中:
>constants;
为了方便使用,现将上述常数的具体含义列示如下:
常数
名称
近似值
圆周率
Pi
3.1415926535
Catalan常数
Catalan
0.9159655942
Euler-Mascheroni常数
gamma
0.5772156649
infinity
2.2.4函数类型转换
实现函数类型转换的命令是convert.命令格式:
convert(expr,form);#把数学式expr转换成form的形式
convert(expr,form,x);#指定变量x,此时form只适于exp、sin、cos
convert指令所提供的三角函数、指数与函数的转换共有exp等7种:
(1)exp:
将三角函数转换成指数
(2)expln:
把数学式转换成指数与对数
(3)expsincos:
分别把三角函数与双曲函数转换成sin、cos与指数的形式
(4)ln:
将反三角函数转换成对数
(5)sincos:
将三角函数转换成sin与cos的形式,而把双曲函数转换成sinh与cosh的形式
(6)tan:
将三角函数转换成tan的形式
(7)trig:
将指数函数转换成三角函数与对数函数
>convert(sinh(x),exp);#将sinh(x)转换成exp类型
2.2.5函数的映射—map指令
在符号运算的世界里,映射指令map可以说是相当重要的一个指令,它可以把函数或指令映射到这些结构里的元素,而不破坏整个结构的完整性.命令格式为:
map(f,expr);#将函数f映射到expr的每个操作数
map(f,expr,a);#将函数f映射到expr的每个操作数,并取出a为f的第2个自变量
map(f,expr,a1,a2,…,an);#将函数f映射到expr的每个操作数,并取a1~an为f的第2~n+1个自变量
map2(f,a1,expr,a2,…,an);#以a1为第1个自变量,expr的操作数为第2个自变量,a2为
第3个自变量…,an为第n+1个自变量来映射函数f
>f:
=x->sqrt(x)+x^2;
>map(f,[a,b,c]);
>map(h,[a,b,c],x,y);
3求值
3.1赋值
在Maple中,不需要申明变量的类型,甚至在使用变量前不需要将它赋值,这是Maple与其它高级程序设计语言不同的一点,也正是Maple符号演算的魅力所在,这个特性是由Maple与众不同的赋值方法决定的.为了理解其
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Maple 基础教程 修订稿