Maple基础教程修订稿文档格式.docx
《Maple基础教程修订稿文档格式.docx》由会员分享,可在线阅读,更多相关《Maple基础教程修订稿文档格式.docx(60页珍藏版)》请在冰豆网上搜索。
#求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();
注意,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;
=(x,y)->
x^2+y^2;
f(1,2);
a*x*y*exp(x^2+y^2);
另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数.
命令格式为:
=unapply(expr,x);
=unapply(expr,x,y,…);
=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
sqrt(x)+x^2;
map(f,[a,b,c]);
map(h,[a,b,c],x,y);
3求值
3.1赋值
在Maple中,不需要申明变量的类型,甚至在使用变量前不需要将它赋值,这是Maple与其它高级程序设计语言不同的一点,也正是Maple符号演算的魅力所在,这个特性是由Maple与众不同的赋值方法决定的.为了理解其