Maple基础教程(修订稿)

合集下载

Maple入门教程Part3_命令和程序包

Maple入门教程Part3_命令和程序包

Part 3:命令和程序包西希安工程模拟软件(上海)有限公司,20083.0 介绍第三部分:命令和程序包,学习如何使用Maple的顶层命令和程序包中的命令,以及学习如何使用帮助系统。

为了获得更好的学习效果,请打开一个空白Maple文件。

按照表格左侧中的操作步骤描述,在表格右侧空白处完成操作。

3.1 使用命令和程序包Maple内置5,000多个计算命令,深度覆盖广泛的数学和编程主题。

在前面的两节教程中,你已经体验了一些Maple命令,包括 sin, taylor, int, exp, dsolve, solve, fsolve, rhs, 和 eval,并且你已经通过关联菜单使用了更多的命令。

Maple中的命令分为两类:主函数库(main library)和程序包(packages)。

主函数库包含最常用的Maple命令,也称为顶层(top-level)命令。

其他的命令,按照学科组成程序包,如微积分教育包,统计,微分几何,等。

例如,Optimization 程序包收集了数值求解优化问题的命令。

Maple命令一些常用的命令归类为顶层命令,如前面介绍的 sin, taylor, int, exp, dsolve, solve, fsolve, rhs, eval, factor, expand, simplfiy 等。

你可以随时使用顶层命令,更多信息,请参阅Maple的顶层命令列表 Index of Functions。

使用顶层命令:如果你希望交互式使用Maple命令,仅需要使用2-D数学输入命令。

注意,这些命令和变量名显示为斜体。

Maple命令的结构类似于 command(arguments),具体的命令名和调用格式取决于你使用的命令。

教程 6-Data Structures 包含更多使用这些命令的范例。

关于如何识别一个命令是否执行在内核中,参阅 type/builtin。

程序包Maple中一些常用的程序包有:参看完整的Maple程序包,参阅 Index of Packages.如何使用程序包中的命令,有两种调用格式:长格式和短格式。

maple教程

maple教程

读者对象有哪些?
本书适用于高等学校各专业本科生, 以及具有初步的高等数学知识和计算机知识的其他 读者、从事实际工作的工程技术人员、高等中等学校的教师和学生、从事各种理论工作(数 学、物理等)的科学工作者。该书对于从事数学、计算技术、计算机应用等方面的科技人员 及教学人员也是一本极好的参考工具书。
怎样使用本书?
I
目 录
第一篇 第1章 初步篇 Maple 6 起步 ········································································································· 2
1.1 什么是Maple··········································································································· 3 1.2 Maple的结构 ··········································································································· 5 1.3 Maple的功能 ··········································································································· 5 1.3.1 算术 ················································································································ 7 1.3.2 变量和多项式································································································· 9 1.3.3 解方程 ·········································································································· 10 1.3.4 绘图 ·············································································································· 11 1.3.5 表格 ·············································································································· 13 1.3.6 构造文档 ······································································································ 14 1.3.7 在线帮助系统······························································································· 17 1.4 Maple 6 的新特性 ································································································ 18 1.5 本章小结 ··············································································································· 18 第2章 2.1 2.2 2.3 安装与设置 ··········································································································· 19

Maple 入门教程

Maple 入门教程
相关帮助
Quick Help Details
。求值多项式在 x = 10,求输出
Part 2:整合思想
西希安工程模拟软件(上海)有限公司,2008
2.0 介绍
第二部分:整合你的思想,你将学习使用一些基本工具创建出版文件,以及在文字中使用 排版数学。此外,你将使用Maple符号和数值求解方程,了解Maple中赋值语句、表达式、 函数之间的区别。
例子:键入 "x+5-2" 然后按 [Ctrl][=]。
组合文字和数学
例子: 1. 输入一个简单的计算。从表达式面板中
选择积分模板
。 用被积函数代替
。按 [Tab] 键移到下一个占位符,用 替 换。
2. 使用 [Ctrl][=] 积分计算。
3. 将光标放置在表达式的左边,切换到文
字模式
,或者按 [F5]
是一
例子:输入上面的方程(使用单引号作为 微分符号),为了验证它是一个微分方 程,从关联菜单中选择 Solve DE 求解。
标签 无论你何时使用【回车键】获得一个计算 结果,工作表将自动给出一个公式标签。 如果想引用前面的计算结果,使用 C t r l + L 并输入标签数字。
例子:将上面的结果 标签。
操作步骤
结果
求精确解和数值近似 Maple 计算精确结果,也就是说,分数计算 时保持分数形式,e 和 在整个计算过程中 保留为符号形式。这些将减少在多步计算 中由于近似产生的误差。
例子:在新的一行,输入 1/2 + 1/3。 我们注意到光标 / 自动移到分母的位置。按 回车键得到计算结果。
Maple也可以计算数值近似解。 例子:鼠标右击上面的结果表达式,选择 关联菜单的Approximate,精度位选择 5。

Maple入门手册(1)

Maple入门手册(1)
增加的按钮。单击新按钮,你可以更改绘图属性,你也可以单击鼠标右键,在 export 菜单中 选择一种图片格式将图导出。 绘制函数: 在绘制函数之前,需要先定义函数。如果函数 f(x,y)包含了 x,y 变量,那么也应该给出 x 和 y 的变化范围。
绘制多图 我们经常喜欢同时显示多个图。其中一种方法是,给绘图函数一列要绘制的表达式组或函数 。 先将表达式或函数列出来,然后列出范围。如果你想用不同颜色来表示不同的表达式,你可 以使用关键词“color”来按对应顺序定义图形颜色。
要想得到函数值,输入函数名和变量值。用 f(x)的形式计算,f 是函数名,x 是设置的变量 值。
定义多变量函数: 多变量函数的定义和单变量函数定义非常相似。唯一的不同是,多变量函数有更多独立变量 。 在下面的例子中,函数名士 f,有两个独立变量 x 和 y。假如,我们要定义这样一个多变量 函数 f(x,y)=x^2+y^2
展开表达式 expand 函数可以展开含有相乘项的表达式。展开并不是总会使得原表达式更复杂。相反, 在很多情况下,它可以的到简化解。
分解因式 这个函数是展开函数的逆运算,它可以将多项式因式分解。
6
本稿由 哈尔滨工程大学船舶工程学院 张崇伟 制作,免费学术共享,禁止用于商业目的。
通分约分 如果表达式包含分数,那么有必要通分约分重新构造一个分数。normal 函数可以实现这一 过程。
12
3、数值计算
Maple 可以做浮点型、整型和复数型的计算。 浮点型数值计算 Maple 的一个重要的性质就是做准确数学计算的能力:在浮点近似中有效数字不会减少。这 样舍入误差就可被避免。 例子:五舍入误差计算
如果需要得到近似值,可使用 evalf 函数将准确的结果转化为近似浮点数解。 例子:把准确结果转化成近似浮点数解

Maple基础教程(修订稿)

Maple基础教程(修订稿)

Maple 基础一Maple 的基本运算1 数值计算问题在应用Maple 做算术运算时, 只需将Maple 当作一个“计算器”使用, 所不同的是命令结束时需加“;”或“:”.在Maple 中, 主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**),值得注意的是, “^”的表达式只能有两个操作数, 换言之, c b a ^^是错误的, 而“+”或“*”的任意表达式可以有两个或者两个以上的操作数. 2.1.1 有理数运算作为一个符号代数系统, Maple 可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时, 只需在任意一个整数后加“.”(或“.0”), 或者利用“evalf ”命令把表达式转换成浮点形式, 默认浮点数位是10 (即: Digits:=10, 据此可任意改变浮点数位, 如Digits:=20). > 9/1;;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);true3) 确定第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);-510Icomplex_number +:=> Re(%);Im(%%);conjugate(%%%);argument(complex_number);-510--510Iarctan2π- +()1) 绝对值函数…命令格式: abs(expr);当expr为实数时,返回其绝对值,当expr为复数时,返回复数的模.2)复数的幅角函数命令格式: argument(x); #返回复数x的幅角的主值3)共轭复数命令格式: conjugate(x); #返回x的共轭复数初等数学<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的连乘》13168189440000> product(k^2,k); #计算2k 的不确定乘积()Γ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 0m() + n k ()Γ + + n m 1()Γn> product(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);= ∑= k 1nk 2 - + + 13() + n 1312() + n 1216n 16> Sum(1/k!,k=0..infinity)=sum(1/k!,k=0..infinity);= ∑= k 0∞1!k e > sum(a[k]*x[k],k=0..n);∑= k 0na k x k> sum(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);其中, x, y 为表达式. 反三角函数/反双曲函数的参数必须按弧度计算. > arcsinh(1);()ln + 12> cos(arcsin(x));- 1x 2}5)对数函数命令格式: ln(x); #自然对数log[a](x); #一般对数 log10(x); #常用对数一般地, 在ln(x)中要求x>0. 但对于复数型表达式x, 有:)(argument *))(abs ln()ln(x I x x += (其中, ππ≤<-)(argument x )> log10(1000000);、()ln 1000000()ln 10> simplify(%); #化简上式62.2.2 函数的定义试看下面一个例子:> f(x):=a*x^2+b*x+c;---并不是函数,而是一个表达式:= ()f x + + a x 2b x c> f(x),f(0),f(1/a);…,, + + a x 2b x c ()f 0⎛⎝ ⎫⎭⎪⎪f 1a由上述结果可以看出, 用赋值方法定义的f(x)是一个表达式而不是一个函数 在Maple 中, 要真正完成一个函数的定义, 需要用算子(也称箭头操作符):> f:=x->a*x^2+b*x+c;:= f → x + + a x 2b x c> f(x),f(0),f(1/a);,,+ + a x 2b x c c + + 1a bac > f:=(x,y)->x^2+y^2;*:= f → (),x y + x 2y 2> f(1,2);5> f:=(x,y)->a*x*y*exp(x^2+y^2);:= f → (),x y a x y e()+ x 2y 2另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数. 命令格式为: f:=unapply(expr, x); 命令格式为: f:=unapply(expr, x, y, …);!> f:=unapply(x^4+x^3+x^2+x+1,x);:= f → x + + + + x 4x 3x 2x 1借助函数piecewise 可以生成简单分段函数: > abs(x)=piecewise(x>0,x,x=0,0,x<0,-x);= x ⎧⎩⎪⎪⎪⎪⎪⎨x < 0x 0= x 0-x < x 0清除函数的定义用命令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()cos x ()sin x ()cos x 2&> op(expr);,,6()cos x ()sin x ()cos x 2> nops(expr);32.2.3 Maple 中的常量与变量名为了解决数学问题, 一些常用的数学常数是必要的. Maple 系统中已经存储了一些数学常数在表达式序列constants 中: > constants;,,,,,,false γ∞true Catalan FAIL π(—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 类型-12e x 121e x2.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;:= f → x + x x 2> map(f,[a,b,c]);】[],, + a a 2 + b b 2 + c c 2> map(h, [a,b,c],x,y);[],,()h ,,a x y ()h ,,b x y ()h ,,c x y3 求 值赋值在Maple 中, 不需要申明变量的类型, 甚至在使用变量前不需要将它赋值, 这是Maple 与其它高级程序设计语言不同的一点, 也正是Maple 符号演算的魅力所在, 这个特性是由Maple 与众不同的赋值方法决定的. 为了理解其赋值机制, 先看下面的例子. > p:=9*x^3-37*x^2+47*x-19;:= p - + - 9x 337x 247x 19}> roots(p);⎡⎣⎢⎢⎤⎦⎥⎥,[],12⎡⎣⎢⎢⎤⎦⎥⎥,1991 > subs(x=19/9,p);变量代换subs ( var = repacedment , expression );调用的结果是将表达式expression 中所有变量var 出现的地方替换成 replacement. > f:=x^2+exp(x^3)-8;】:= f + - x 2e()x 38> subs(x=1,f);- + 7e如果需要计算, 必须调用求值函数evalf . 如: > evalf(%);5.> subs(x=y,y=z,x^2*y); (顺序替换)z 3[> subs({x=y,y=z},x^2*y); (同步替换)y 2z> subs((a=b,b=c,c=a),a+2*b+3*c); (顺序替换)6a> subs({a=b,b=c,c=a},a+2*b+3*c); (轮 换)+ + b 2c 3a> subs({p=q,q=p},f(p,q)); (互 换)()f ,q p,求值规则1) 对表达式求值命令格式: eval(e, x=a); #求表达式e 在x=a 处的值 eval(e, eqns); #对方程或方程组eqns 求值 eval(e); #表达式e 求值到上面两层 eval(x,n); #给出求值名称的第n 层求值 > p:=x^5+x^4+x^3+x^2+x+73;:= p + + + + + x 5x 4x 3x 2x 73(> eval(p,x=7);19680当表达式在异常点处求值时, eval 会给一个错误消息. 如下: > eval(sin(x)/x,x=0);Error, numeric exception: division by zero2) 在代数数(或者函数)域求值命令格式: evala(expr); # 对表达式或者未求值函数求值 :evala(expr,opts); #求值时可加选项(opts)在Maple 中, 代数数用函数RootOf ()来表示. 如3作为一个代数数, 可以表示为: > alpha:=RootOf(x^2-3,x);:= α()RootOf - _Z 23> simplify(alpha^2);3在Maple 内部, 代数数α不再表示为根式, 而在化简时, 仅仅利用到32=α这样的事实. 这里, Maple 用到一个内部变量_Z. 再看下面一个例子,其中alias 是缩写的定义函数,而参数lenstra 指lenstra 椭圆曲线方法:> alias(alpha=RootOf(x^2-2)): —> evala(factor(x^2-2,alpha),lenstra);() + x α() - x α> evala(quo(x^2-x+3,x-alpha,x,'r'));- + + 1αx> r;- + 3αα2> simplify(%);- 5α)3) 在复数域上符号求值操纵复数型表达式并将其分离给出expr 的实部和虚部的函数为evalc, 命令格式为: evalc(expr);evalc 假定所有变量表示数值, 且实数变量的函数是实数类型. 其输出规范形式为: expr1+I*expr2.> evalc(sin(6+8*I));+ ()sin 6()cosh 8I ()cos 6()sinh 8> evalc(f(exp(alpha+x*I)));()f + e α()cos x I e α()sin x}4) 使用浮点算法求值命令格式为: evalf(expr, n); > evalf(Pi,50);3.1415926535897932384626433832795028841971693993751> evalf(sin(3+4*I));- 3.853********.01681326I5) 对惰性函数求值把只用表达式表示而暂不求值的函数称为惰性函数,对任意代数表达式f 求值的命令格式为: value(f); ~> F:=Int(exp(x),x);:= F d ⎛⎠⎜e xx> value(%);e x> f:=Limit(sin(x)/x,x=0);:= f lim→ x 0()sin x x> value(%);1[另外, 将惰性函数的大写字母改为小写字母亦即可求值. 如下例:> Limit(sin(x)/x,x=0)=limit(sin(x)/x,x=0);= lim→ x 0()sin x x1 4 数据结构Maple 中有许多内建的与FORTRAN 、C 或Pascal 不同的数据结构. 主要的数据结构有序列(sequence)、列表(list)、集合(set)、代数数( algebraic number)、未求值或惰性函数调用、表(table)、级数(series)、串(string)、索引名(index)、关系(relation)、过程体(process)以及整数(integer)、分数(fraction)、浮点数(float)、复数(complex number)等数据结构, 而矩阵(matrix)在Maple 中表示为阵列, 是一种特殊的表.数据类型查询在Maple 中, 用whattype 指令来查询某个变量的数据类型或特定类型, 命令格式为: whattype(expr) # 查询expr 的数据类型`type(expr, t) # 查询expr 是否为t 类型, 若是则返回true, 否则返回false序列, 列表和集合4.2.1 序列所谓序列(Sequence), 就是一组用逗号隔开的表达式列. 如: > s:=1,4,9,16,25;:= s ,,,,1491625> t:=sin,com,tan,cot;:= t ,,,sin com tan cot|一个序列也可以由若干个序列复合而成, 如:> s:=1,(4,9,16),25;:= s ,,,,1491625> s,s;,,,,,,,,,14916251491625而符号NULL 表示一个空序列. 序列有很多用途, 如构成列表、集合等. 事实上, 有些函数命令也是由序列构成. 例如: > max(s);25:> min(s,0,s);函数seq 是最有用的生成序列的命令, 通常用于写出具有一定规律的序列的通项, 命令格式为: seq(f(i), i=m..n); # 生成序列f(m), f(m+1), …, f(n) (m,n 为任意有理数) seq(f(i), i=expr); # 生成一个f 映射expr 操作数的序列seq(f(op(i,expr)), i=1..nops(expr)); # 生成nops(expr)个元素组成的序列 > seq(i^2,i=1..10);,,,,,,,,,149162536496481100¥> seq(i^3,i=x+y+z);x3y3z3,,获得一个序列中的特定元素选用操作符[ ], 如:> seq(ithprime(i),i=1..20);235711131719232931374143475359616771,,,,,,,,,,,,,,,,,,,> %[6],%[17];1359,4.2.2 列表>列表(list), 就是把对象(元素)放在一起的一种数据结构, 一般地, 用方括号[ ]表示列表. 如下例:> l:=[x,1,1-z,x];1z xx1 -l[]:=,,,> whattype(%);list4.2.3 集合集合(set)也是把对象(元素)放在一起的数据结构,一般地, 用花括号表示集合.> s:={x,1,1-z,x};:1z1x -:=s{},,> whattype(%);set空集定义为{ }.Maple中集合的基本运算有交(intersect)、并(union)、差(minus):> A:={seq(i^3,i=1..10)};B:={seq(i^2,i=1..10)};1827641252163435127291000:=,,,,,,,,,A{},,,,,,,,,149162536496481100B{}:=`> A intersect B;,164{}数组和表在Maple中, 数组(array)由命令array产生, 其下标变量(index)可以自由指定. 下标由1开始的一维数组称为向量(vector), 二维以上的数组称为矩阵(matrix). 数组的元素按顺序排列, 任意存取一数组的元素要比列表或序列快的多. 区分一个数据结构是数组还是列表要用“type”命令.表(table)在建立时使用圆括号, 变量能对一个表赋值, 但一个在存取在算子中的未赋值变量会被自动地假定是表, 表的索引可以成为任意Maple表达式. 表中元素的次序不是固定的.5 Maple 高级输入与输出操作生成LATEXMaple 可以把它的表达式转换成LATEX, 使用latex 命令即可: `> latex(x^2+y^2=z^2);{x}^{2}+{y}^{2}={z}^{2}还可以将转换结果存为一个文件(LatexFile): > latex(x^2 + y^2 = z^2, LatexFile); 再如下例:> latex(Int(1/(x^2+1),x)=int(1/(x^2+1),x));\int \! \left( {x}^{2}+1 \right) ^{-1}{dx}=\arctan\left( x \right)\二 微积分运算$1 函数的极限和连续函数和表达式的极限)(lim x f ax →命令格式为: limit(f,x=a);求)(lim x f ax +→时的命令格式为limit(f, x=a, right); 求)(lim x f a x -→时的命令格式为limit(f, x=a, left); 请看下述例子:> Limit((1+1/x)^x,x=infinity)=limit((1+1/x)^x,x=infinity);= lim → x ∞⎛⎝ ⎫⎭⎪⎪ + 11x xe > Limit((x^n-1)/(x-1),x=1)=limit((x^n-1)/(x-1),x=1);= lim → x 1- x n 1 - x 1n> Limit(x^x,x=0,right)=limit(x^x,x=0,right);"= lim→ +x 0x x 1> limit(a*x*y-b/(x*y),{x=1,y=1});- a b> limit(x^2*(1+x)-y^2*((1-y))/(x^2+y^2),{x=0,y=0});undefined下例就是化二重极限为二次极限而得正确结果:> limit((sin(x+y)/(sin(x)*sin(y)),{x=Pi/4,y=Pi/4}));⎛⎝ ⎫⎭⎪⎪lim it ,()sin + x y ()sin x ()sin y {}, = x 14π = y 14π \> limit(limit(sin(x+y)/(sin(x)*sin(y)),x=Pi/4),y=Pi/4);2函数的连续性1.2.1 连续在Maple 中可以用函数iscont 来判断一个函数或者表达式在区间上的连续性. 命令格式为: iscont(expr, x=a..b, 'colsed '/'opened');其中, closed 表示闭区间, 而opened 表示开区间(此为系统默认状态).如果表达式在区间上连续, iscont 返回true, 否则返回false, 当iscont 无法确定连续性时返回FAIL. 另外, iscont 函数假定表达式中的所有符号都是实数型. 颇为有趣的是, 当给定区间[a,b ] (a >b )时, iscont 会自动按[b,a ]处理. }> iscont(1/x,x=1..2);true> iscont(1/x,x=-1..1,closed);false> iscont(1/(x+a),x=0..1);FAIL> iscont(ln(x),x=10..1);true`1.2.2 间断函数discont 可以寻找函数或表达式在实数域的间断点, 当间断点周期或成对出现时, Maple 会利用一些辅助变量予以表达, 比如, _Zn ~(任意整数)、_NZn ~(任意自然数)和Bn ~(一个二进制数, 0或者1), 其中n 是序号. 判定f(x)间断点的命令为:discont(f, x); > discont(ln(x^2-4),x);{},-22> discont(arctan(1/2*tan(2*x))/(x^2-1),x);{},,-11 + 12π_Z1~14π> discont(round(3*x-1/2),x);' {} + 1313_Z1函数round 为“四舍五入”函数,上例并非一目了然,对其进一步理解可借助于函数plot 或下面给出的fdiscont 例子。

Maple教程

Maple教程

Maple 软件使用教程目录序言 0第一章Maple概述 (2)第二章基本命令 (4)第三章作图 (11)§3.1 .二维曲线图 (13)§3.2三维图形 (16)§3.3数据图 (17)实验一第四章微积分 (20)§4.1函数 (18)§4.2极限 (19)§4.3导数 (20)§4.4积分 (21)§4.5方程求解 (22)§4.6极值与最值 (23)§4.7微分方程与差分方程 (24)§4.8级数 (25)实验二第五章线性代数 (32)实验三第六章概率统计 (35)§6.1描述性数据分析discribe (28)§6.2拟合回归分析 (29)§6.3数据形式变换transform (30)§6.4按分布产生随机数random (30)§6.5分布的数据计算statevalf (31)§6.6统计绘图statplots (32)§6.7方差分析anova (32)第七章线性规划.................... ............................... .. (40)第八章程序语句 (41)实验四附录一 ..................................................................................................... .. (43)附录二...…...…………..……..……………………………………………. .43.第一章Maple概述Maple以其良好的使用环境、超强的符号计算、高精度的数值计算、方便的图形处理和简洁而高效的编程功能,越来越受到大家的喜爱和重视。

为了让同学们了解什么是Maple以及Maple能解决什么问题,我们先来介绍Maple的初步知识、基本功能及简单的历史发展。

maple 教程

maple 教程

maple 教程
Maple是一种数学建模和计算软件,用于进行高级数学运算和数据分析。

它被广泛应用于科学研究、工程设计和教育教学等领域。

在使用Maple进行数学建模时,我们首先需要了解变量的定义和使用。

可以使用等号将数值或表达式赋值给变量。

例如,我们可以使用以下语句定义一个变量x,并将其赋值为3:
x := 3;
接下来,我们可以使用已定义的变量进行数学计算。

Maple支持各种基本数学操作,如加减乘除和幂运算。

例如,我们可以使用以下语句计算x的平方:
x^2;
除了基本的数学运算,Maple还支持各种复杂的数学函数和操作。

例如,我们可以使用以下语句计算x的正弦值:
sin(x);
此外,Maple还提供了丰富的数学函数库,包括三角函数、对数函数、指数函数等等。

可以使用这些函数来进行更复杂的数学计算。

在进行数据分析时,Maple提供了强大的数据处理和可视化功能。

可以使用Maple的数据结构和函数来处理和分析数据,
并使用图表来可视化数据结果。

总之,Maple是一种功能强大的数学建模和计算软件,具有广泛的应用领域。

通过学习Maple的基本语法和功能,我们可以进行高级数学运算和数据分析,从而更好地理解和应用数学知识。

Maple 入门教程

Maple 入门教程

是一
例子:输入上面的方程(使用单引号作为 微分符号),为了验证它是一个微分方 程,从关联菜单中选择 Solve DE 求解。
标签 无论你何时使用【回车键】获得一个计算 结果,工作表将自动给出一个公式标签。 如果想引用前面的计算结果,使用 C t r l + L 并输入标签数字。
例子:将上面的结果 标签。
操作步骤
结果
求精确解和数值近似 Maple 计算精确结果,也就是说,分数计算 时保持分数形式,e 和 在整个计算过程中 保留为符号形式。这些将减少在多步计算 中由于近似产生的误差。
例子:在新的一行,输入 1/2 + 1/3。 我们注意到光标 / 自动移到分母的位置。按 回车键得到计算结果。
Maple也可以计算数值近似解。 例子:鼠标右击上面的结果表达式,选择 关联菜单的Approximate,精度位选择 5。
例如," " 意思为 "x 乘以 y",但是 " " 表示一个名为" x y "的变量。
= =
=
= =
(3.4)
例子: 键入 " [ 空格]
".
如果你从右键菜单中选择Differentiate,你
将看到 x, y, 和 xy 被当作三个独立的变量。
如果你使用关联菜单选择 Differentiate,你 可以看到 x, y, 和 xy 被作为三个不同的变量 区别对待。
(3.15)
注意:在Maple中,任何想要获得求值结果 的表达式都必须为数学格式,任何文本格 式的表达式都是非执行语句。
(3.16) (3.17)
(3.18)
提示: 如何找到计算机系统下的快捷键,点击菜单 帮助 > 快速帮助,并选择 切换文本/数 学。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 的余数, 并将商赋给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,…,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);:=-510Icomplex_number +> Re(%);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的连乘13168189440000> product(k^2,k); #计算2k 的不确定乘积()Γ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 0m() + n k ()Γ + + n m 1()Γn> product(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);= ∑ = k 1nk 2 - + + 13() + n 1312() + n 1216n 16> Sum(1/k!,k=0..infinity)=sum(1/k!,k=0..infinity);= ∑ = k 0∞1!k e > sum(a[k]*x[k],k=0..n);∑ = k 0n a k x k> sum(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);其中, x, y 为表达式. 反三角函数/反双曲函数的参数必须按弧度计算.> arcsinh(1);()ln + 12> cos(arcsin(x));- 1x 25)对数函数命令格式: ln(x); #自然对数log[a](x); #一般对数log10(x); #常用对数一般地, 在ln(x)中要求x>0. 但对于复数型表达式x, 有:)(argument *))(abs ln()ln(x I x x += (其中, ππ≤<-)(argument x )> log10(1000000);()ln 1000000()ln 10 > simplify(%); #化简上式62.2.2 函数的定义试看下面一个例子:> f(x):=a*x^2+b*x+c;---并不是函数,而是一个表达式:= ()f x + + a x 2b x c> f(x),f(0),f(1/a);,, + + a x 2b x c ()f 0⎛⎝ ⎫⎭⎪⎪f 1a 由上述结果可以看出, 用赋值方法定义的f(x)是一个表达式而不是一个函数在Maple 中, 要真正完成一个函数的定义, 需要用算子(也称箭头操作符):> f:=x->a*x^2+b*x+c;:= f → x + + a x 2b x c> f(x),f(0),f(1/a);,,+ + a x 2b x c c + + 1a b ac > f:=(x,y)->x^2+y^2; := f → (),x y + x 2y 2> f(1,2);5> f:=(x,y)->a*x*y*exp(x^2+y^2);:= f → (),x y a x y e () + x 2y 2另一个定义函数的命令是unapply,其作用是从一个表达式建立一个算子或函数.命令格式为: f:=unapply(expr, x);命令格式为: f:=unapply(expr, x, y, …);> f:=unapply(x^4+x^3+x^2+x+1,x);:= f → x + + + + x 4x 3x 2x 1借助函数piecewise 可以生成简单分段函数:> abs(x)=piecewise(x>0,x,x=0,0,x<0,-x); = x ⎧⎩⎪⎪⎪⎪⎪⎨x < 0x 0 = x 0-x < x 0清除函数的定义用命令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;sin x()cos x2cos x()6():=expr + +> op(expr);sin x()cos x26()cos x(),,> nops(expr);32.2.3 Maple中的常量与变量名为了解决数学问题, 一些常用的数学常数是必要的. Maple系统中已经存储了一些数学常数在表达式序列constants中:> constants;falseγ∞true Catalan FAILπ,,,,,,为了方便使用, 现将上述常数的具体含义列示如下: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 类型 - 12e x 121e x2.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;:= f → x + x x 2> map(f,[a,b,c]); [],, + a a 2 + b b 2 + c c 2> map(h, [a,b,c],x,y);[],,()h ,,a x y ()h ,,b x y ()h ,,c x y3 求 值3.1 赋值在Maple 中, 不需要申明变量的类型, 甚至在使用变量前不需要将它赋值, 这是Maple 与其它高级程序设计语言不同的一点, 也正是Maple 符号演算的魅力所在, 这个特性是由Maple 与众不同的赋值方法决定的. 为了理解其赋值机制, 先看下面的例子.> p:=9*x^3-37*x^2+47*x-19;:= p - + - 9x 337x 247x 19> roots(p);⎡⎣⎢⎢⎤⎦⎥⎥,[],12⎡⎣⎢⎢⎤⎦⎥⎥,1991 > subs(x=19/9,p);3.2 变量代换subs ( var = repacedment , expression );调用的结果是将表达式expression 中所有变量var 出现的地方替换成 replacement.> f:=x^2+exp(x^3)-8;:= f + - x 2e()x 38> subs(x=1,f); - + 7e如果需要计算, 必须调用求值函数evalf . 如:> evalf(%);5.> subs(x=y,y=z,x^2*y); (顺序替换)z 3> subs({x=y,y=z},x^2*y); (同步替换)y 2z> subs((a=b,b=c,c=a),a+2*b+3*c); (顺序替换)6a> subs({a=b,b=c,c=a},a+2*b+3*c); (轮 换)+ + b 2c 3a> subs({p=q,q=p},f(p,q)); (互 换)()f ,q p3.3 求值规则1) 对表达式求值命令格式: eval(e, x=a); #求表达式e 在x=a 处的值eval(e, eqns); #对方程或方程组eqns 求值eval(e); #表达式e 求值到上面两层eval(x,n); #给出求值名称的第n 层求值> p:=x^5+x^4+x^3+x^2+x+73;:= p + + + + + x 5x 4x 3x 2x 73> eval(p,x=7);19680当表达式在异常点处求值时, eval 会给一个错误消息. 如下:> eval(sin(x)/x,x=0);Error, numeric exception: division by zero2) 在代数数(或者函数)域求值命令格式: evala(expr); # 对表达式或者未求值函数求值evala(expr,opts); #求值时可加选项(opts)在Maple 中, 代数数用函数RootOf ()来表示. 如3作为一个代数数, 可以表示为:> alpha:=RootOf(x^2-3,x);:= α()RootOf - _Z 23> simplify(alpha^2);3在Maple 部, 代数数α不再表示为根式, 而在化简时, 仅仅利用到32=α这样的事实. 这里, Maple 用到一个部变量_Z. 再看下面一个例子,其中alias 是缩写的定义函数,而参数lenstra 指lenstra 椭圆曲线方法:> alias(alpha=RootOf(x^2-2)):> evala(factor(x^2-2,alpha),lenstra); () + x α() - x α> evala(quo(x^2-x+3,x-alpha,x,'r'));- + + 1αx> r;- + 3αα2> simplify(%);- 5α3) 在复数域上符号求值操纵复数型表达式并将其分离给出expr 的实部和虚部的函数为evalc, 命令格式为:evalc(expr);evalc 假定所有变量表示数值, 且实数变量的函数是实数类型. 其输出规形式为: expr1+I*expr2. > evalc(sin(6+8*I));+ ()sin 6()cosh 8I ()cos 6()sinh 8> evalc(f(exp(alpha+x*I)));()f + e α()cos x I e α()sin x4) 使用浮点算法求值命令格式为: evalf(expr, n);> evalf(Pi,50);3.1415926535897932384626433832795028841971693993751> evalf(sin(3+4*I));- 3.853********.01681326I5) 对惰性函数求值把只用表达式表示而暂不求值的函数称为惰性函数,对任意代数表达式f 求值的命令格式为: value(f); > F:=Int(exp(x),x);:= F d ⎛⎠⎜e x x > value(%);e x> f:=Limit(sin(x)/x,x=0);:= f lim→ x 0()sin x x> value(%); 1另外, 将惰性函数的大写字母改为小写字母亦即可求值. 如下例:> Limit(sin(x)/x,x=0)=limit(sin(x)/x,x=0);= lim → x 0()sin x x1 4 数据结构Maple 中有许多建的与FORTRAN 、C 或Pascal 不同的数据结构. 主要的数据结构有序列(sequence)、列表(list)、集合(set)、代数数( algebraic number)、未求值或惰性函数调用、表(table)、级数(series)、串(string)、索引名(index)、关系(relation)、过程体(process)以及整数(integer)、分数(fraction)、浮点数(float)、复数(complex number)等数据结构, 而矩阵(matrix)在Maple 中表示为阵列, 是一种特殊的表.4.1 数据类型查询在Maple 中, 用whattype 指令来查询某个变量的数据类型或特定类型, 命令格式为:whattype(expr) # 查询expr 的数据类型type(expr, t) # 查询expr 是否为t 类型, 若是则返回true, 否则返回false4.2 序列, 列表和集合4.2.1 序列所谓序列(Sequence), 就是一组用逗号隔开的表达式列. 如:> s:=1,4,9,16,25;:= s ,,,,1491625> t:=sin,,tan,cot;:= t ,,,sin com tan cot一个序列也可以由若干个序列复合而成, 如: > s:=1,(4,9,16),25;:= s ,,,,1491625> s,s;,,,,,,,,,14916251491625而符号NULL 表示一个空序列. 序列有很多用途, 如构成列表、集合等. 事实上, 有些函数命令也是由序列构成. 例如: > max(s);25> min(s,0,s);函数seq 是最有用的生成序列的命令, 通常用于写出具有一定规律的序列的通项, 命令格式为: seq(f(i), i=m..n); # 生成序列f(m), f(m+1), …, f(n) (m,n 为任意有理数) seq(f(i), i=expr); # 生成一个f 映射expr 操作数的序列seq(f(op(i,expr)), i=1..nops(expr)); # 生成nops(expr)个元素组成的序列 > seq(i^2,i=1..10);,,,,,,,,,149162536496481100> seq(i^3,i=x+y+z);,,x 3y 3z 3获得一个序列中的特定元素选用操作符[ ], 如: > seq(ithprime(i),i=1..20);,,,,,,,,,,,,,,,,,,,235711131719232931374143475359616771> %[6],%[17];,13594.2.2 列表列表(list), 就是把对象(元素)放在一起的一种数据结构, 一般地, 用方括号[ ]表示列表. 如下例: > l:=[x,1,1-z,x];:= l [],,,x 1 - 1z x> whattype(%);list4.2.3 集合集合(set)也是把对象(元素)放在一起的数据结构,一般地, 用花括号表示集合. > s:={x,1,1-z,x};:= s {},,1x - 1z> whattype(%);set空集定义为{ }.Maple 中集合的基本运算有交(intersect)、并(union)、差(minus): > A:={seq(i^3,i=1..10)};B:={seq(i^2,i=1..10)};:= A {},,,,,,,,,1827641252163435127291000:= B {},,,,,,,,,149162536496481100> A intersect B;{},1644.3 数组和表在Maple 中, 数组(array )由命令array 产生, 其下标变量(index )可以自由指定. 下标由1开始的一维数组称为向量(vector ), 二维以上的数组称为矩阵(matrix ). 数组的元素按顺序排列, 任意存取一数组的元素要比列表或序列快的多. 区分一个数据结构是数组还是列表要用“type ”命令.表(table)在建立时使用圆括号, 变量能对一个表赋值, 但一个在存取在算子中的未赋值变量会被自动地假定是表, 表的索引可以成为任意Maple 表达式. 表中元素的次序不是固定的.5 Maple 高级输入与输出操作生成LATEXMaple 可以把它的表达式转换成LATEX, 使用latex 命令即可: > latex(x^2+y^2=z^2);{x}^{2}+{y}^{2}={z}^{2}还可以将转换结果存为一个文件(LatexFile): > latex(x^2 + y^2 = z^2, LatexFile); 再如下例:> latex(Int(1/(x^2+1),x)=int(1/(x^2+1),x));\int \! \left( {x}^{2}+1 \right) ^{-1}{dx}=\arctan\left( x \right)二 微积分运算1 函数的极限和连续1.1 函数和表达式的极限)(lim x f ax →命令格式为: limit(f,x=a);求)(lim x f ax +→时的命令格式为limit(f, x=a, right); 求)(lim x f ax -→时的命令格式为limit(f, x=a, left); 请看下述例子:> Limit((1+1/x)^x,x=infinity)=limit((1+1/x)^x,x=infinity);= lim → x ∞⎛⎝ ⎫⎭⎪⎪ + 11x xe > Limit((x^n-1)/(x-1),x=1)=limit((x^n-1)/(x-1),x=1);= lim → x 1 - x n 1 - x 1n > Limit(x^x,x=0,right)=limit(x^x,x=0,right);= lim→ +x 0x x 1> limit(a*x*y-b/(x*y),{x=1,y=1});- a b> limit(x^2*(1+x)-y^2*((1-y))/(x^2+y^2),{x=0,y=0});undefined下例就是化二重极限为二次极限而得正确结果: > limit((sin(x+y)/(sin(x)*sin(y)),{x=Pi/4,y=Pi/4}));⎛⎝ ⎫⎭⎪⎪lim it ,()sin + x y ()sin x ()sin y {}, = x 14π = y 14π > limit(limit(sin(x+y)/(sin(x)*sin(y)),x=Pi/4),y=Pi/4);21.2 函数的连续性1.2.1 连续在Maple 中可以用函数iscont 来判断一个函数或者表达式在区间上的连续性. 命令格式为: iscont(expr, x=a..b, 'colsed '/'opened');其中, closed 表示闭区间, 而opened 表示开区间(此为系统默认状态).如果表达式在区间上连续, iscont 返回true, 否则返回false, 当iscont 无法确定连续性时返回FAIL. 另外, iscont 函数假定表达式中的所有符号都是实数型. 颇为有趣的是, 当给定区间[a,b ] (a >b )时, iscont 会自动按[b,a ]处理. > iscont(1/x,x=1..2);true> iscont(1/x,x=-1..1,closed);false> iscont(1/(x+a),x=0..1);FAIL> iscont(ln(x),x=10..1);true1.2.2 间断函数discont 可以寻找函数或表达式在实数域的间断点, 当间断点周期或成对出现时, Maple 会利用一些辅助变量予以表达, 比如, _Zn ~(任意整数)、_NZn ~(任意自然数)和Bn ~(一个二进制数, 0或者1), 其中n 是序号. 判定f(x)间断点的命令为:discont(f, x); > discont(ln(x^2-4),x);{},-22> discont(arctan(1/2*tan(2*x))/(x^2-1),x);{},,-11 + 12π_Z1~14π> discont(round(3*x-1/2),x);{} + 1313_Z1 函数round 为“四舍五入”函数,上例并非一目了然,对其进一步理解可借助于函数plot 或下面给出的fdiscont 例子。

相关文档
最新文档