Maple基础教程(修订稿)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-Maple基础一Maple的基本运算1数值计算问题在应用Maple做算术运算时,只需将Maple当作一个“计算器”使用,所不同的是命令结束时需加“;”或“:”.在Maple中,主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**),值得注意的是,“^”的表达式只能有两个操作数,换言之,cba^^是错误的,而“+”或“*”的任意表达式可以有两个或者两个以上的操作数.2.1.1有理数运算作为一个符号代数系统,Maple可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时,只需在任意一个整数后加“.”(或“.0”),或者利用“evalf”命令把表达式转换成浮点形式,默认浮点数位是10(即:Digits:=10,据此可任意改变浮点数位,如Digits:=20).123456789/987654321;13717421109739369evalf(%);.1249999989big_number:=3^(3^3);:=big_number7625597484987length(%);13函数“length”作用在整数上时是整数的十进制位数即数字的长度.“%”是一个非常有用的简写形式,表示最后一次执行结果1)整数的余(irem)/商(iquo)命令格式:irem(m,n);#求m除以n的余数irem(m,n,'q');#求m除以n的余数,并将商赋给qiquo(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);true3)确定第i个素数(ithprime)若记第1个素数为2,判断第i个素数的命令格式:ithprime(i);4)一组数的最大值(max)/最小值(min)命令格式:max(x1,x2,…,xn);#求x1,x2,…,xn中的最大值min(x1,x2,…,xn);#求x1,x2,…,xn中的最小值-2-5)随机数生成器(rand)命令格式:rand();#随机返回一个12位数字的非负整数rand(a..b);#调用rand(a..b)返回一个程序,它在调用时生成一个在范围[a,b]内的随机数rand();427419669081myproc:=rand(1..2002):myproc();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);:=complex_number-510IRe(%);Im(%%);conjugate(%%%);argument(complex_number);-510-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);#计算2k关于1..10的连乘13168189440000product(k^2,k);#计算2k的不确定乘积1916-3-()k2product(a[k],k=0..5);#计算ai(i=0..5)的连乘a0a1a2a3a4a5Product(n+k,k=0..m)=product(n+k,k=0..m);#计算(n+k)的连乘,并写出其惰性表达式k0m()nk()nm1()nproduct(k,k=RootOf(x^3-2));#计算23x的三个根的乘积22)指数函数计算指数函数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);k1nk213()n1312()n1216n16Sum(1/k!,k=0..infinity)=sum(1/k!,k=0..infinity);k01!kesum(a[k]*x[k],k=0..n);k0nakxksum(k/(k+1),k=RootOf(x^2-3));33)三角函数/双曲函数命令格式: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);()Sin04)反三角函数/反双曲函数命令格式: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);-4-其中,x,y为表达式.反三角函数/反双曲函数的参数必须按弧度计算.arcsinh(1);()ln12cos(arcsin(x));1x25)对数函数命令格式:ln(x);#自然对数log[a](x);#一般对数log10(x);#常用对数一般地,在ln(x)中要求x0.但对于复数型表达式x,有:)(argument*))(absln()ln(xIxx(其中,)(argumentx)log10(1000000);()ln1000000()ln10simplify(%);#化简上式62.2.2函数的定义试看下面一个例子:f(x):=a*x^2+b*x+c;---并不是函数,而是一个表达式:=()fxax2bxcf(x),f(0),f(1/a);,,ax2bxc()f0f1a由上述结果可以看出,用赋值方法定义的f(x)是一个表达式而不是一个函数在Maple中,要真正完成一个函数的定义,需要用算子(也称箭头操作符):f:=x-a*x^2+b*x+c;:=fxax2bxcf(x),f(0),f(1/a);,,ax2bxcc1abacf:=(x,y)-x^2+y^2;:=f(),xyx2y2f(1,2);5f:=(x,y)-a*x*y*exp(x^2+y^2);:=f(),xyaxye()x2y2-5-另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数.命令格式为:f:=unapply(expr,x);命令格式为:f:=unapply(expr,x,y,…);f:=unapply(x^4+x^3+x^2+x+1,x);:=fxx4x3x2x1借助函数piecewise可以生成简单分段函数:abs(x)=piecewise(x0,x,x=0,0,x0,-x);xx0x0x0xx0清除函数的定义用命令unassign.unassign(f);f(1,1);()f,11定义了一个函数后,就可以使用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;:=expr6()cosx()sinx()cosx2op(expr);,,6()cosx()sinx()cosx2nops(expr);32.2.3Maple中的常量与变量名为了解决数学问题,一些常用的数学常数是必要的.Maple系统中已经存储了一些数学常数在表达式序列constants中:constants;,,,,,,falsetrueCatalanFAIL为了方便使用,现将上述常数的具体含义列示如下:常数名称近似值圆周率Pi3.1415926535Catalan常数02)12()1(nnnCCatalan0.9159655942Euler-Mascheroni常数nknknln1lim1gamma0.5772156649infinity-6-2.2.4函数类型转换实现函数类型转换的命令是convert.命令格式:convert(expr,form);#把数学式expr转换成form的形式convert(expr,form,x);#指定变量x,此时form只适于exp、sin、cosconvert指令所提供的三角函数、指数与函数的转换共有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类型12ex121ex2.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个自变量来映射函数ff:=x-sqrt(x)+x^2;:=fxxx2map(f,[a,b,c]);[],,aa2bb2cc2map(h,[a,b,c],x,y);[],,()h,,axy()h,,bxy()h,,cxy3求值3.1赋值在Maple中,不需要申明变量的类型,甚至在使用变量前不需要将它赋值,这是Maple与

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功