Maple入门教程讲解
Maple入门教程A7- 数据处理

Part 7:数据处理西希安工程模拟软件(上海)有限公司,20087.0 介绍本节内容:数据处理,学习如何输入和输出数据,以及使用Maple的统计、可视化、和数据分 析工具。
7.1 输入和输出数据使用交互式工具或命令输入和输出数据。
使用Maple,您可以输入许多格式的数据,以及输出 数据到文件中。
输入数据操作步骤 使用输入数据助手 输入数据文件,支持的格式包括 Excel, MATLAB, 图片,声音,矩 阵,分隔符文件。
例子:从【工具 -> 分析助手】菜 单,选择 输入数据... 读入数据文件 ExcelData.xls(这个 文件位于Maple安装目录下 data/portal 子文件夹)。
选择Excel格式。
依次点击【下一步】,【下一步 】,【下一步】。
您可以添加一个 名称指向该数据,最后点击【完成 】。
输入的数据是数组格式。
现在,使用图形生成器绘制数据对 结果21应的图形。
鼠标右键点击输入的数据,从弹出 的关联菜单中选择【 Plots>Plot Builder】。
点击【 Plot】。
012使用 ExcelTools 程序包 您也可以使用 ExcelTools 程序包中 的命令输入和输出Excel格式的数 据。
例子: 输入Excel文件 ExcelData.xls. 如果文件没有位于当前的文件夹 下,您需要输入数据文件的完整路 径。
在这里,数据文件位于Maple安装 目录下面的 data/portal 子文件夹 中。
命令 kernelopts(datadir) 返回 数据文件夹的路径,然后用 cat 命 令将两个字符串串联组成数据文件 的完整路径。
60 返回和检查第一行数据。
返回数组中元素的个数。
"C:\Program Files\Maple 13\data/portal/ExcelData.xls" (2.1.1)(2.1.2)(2.1.3) (2.1.4)(2.1.4)使用 plots[pointplot] 画出数据的图 形。
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入门教程Part2_整合思想

Part 2:整合思想
西希安工程模拟软件(上海)有限公司,2008
2.0 介绍
第二部分:整合你的思想,你将学习使用一些基本工具创建出版文件,以及在文字中使用排版数学。
此外,你将使用Maple符号和数值求解方程,了解Maple中赋值语句、表达式、函数之间的区别。
2.1 组合文字和数学
在Maple中,你可以在文件中任意组合文字和数学,创建专业的技术文件。
,重新计算。
提示:快捷键 【F5】用于切换数学/文字输入。
在数学模式下,光标显示为斜体,周围有虚线框。
在文字模式下,光标显示为垂直线。
2.2 求解方程
Maple 能够求方程和不等式中未知量的值。
maple入门

数的进制转换
convert 函数 binary二进制 decimal 十进制 octal 八进制 hex十六进制
小数划为分数运算
convert(x,rational) 将实数(有理数)x转换为 精确分数 convert(x,rational,n) 将实数(无理数)x转换 为分子与分母非零数码的个数和为n的分数
Maple入门 Maple入门
1.Maple概述 Maple概述
什么是Maple, 怎么学习Maple? Maple软件是加拿大Waterloo大学在1980年开始 开发,到现在最新的版本是Maple11, Maple具有强 大的数值计算能力,图形处理能力,特别是符号 计算能力. 常用的数学软件除Maple外,有Matlab等, 统计 软件: SAS,SPSS,运筹学软件:Lingo, WINQSB.
ifactor 求因子 iquo 求商 iquo(a,b,'r') irem 余数 irem(a,b,'q') isqrt 近似的平方跟整数
sqrt(x) 平方根函数 exp(x), ln(x) 指数函数和自然对数函数 log[b](x) 以b为底的对数函数 Abs(x) 绝对值函数 round(x) 最接近x的整数rand ()12位的随机数 Max(a,b,c,…),min(a,b,c,…) a, b, c, … 中的最 大(小)数 floor(x) 不大于x的最大整数 ceil(x) 不小于x的最小整数 trunc(x) x靠近0的整数部分 frac(x) x的分数部分(=x-trunc(x))signum(x)符号函数
1.5.1 fprintf
fprintf函数是用来输出到文件中,在使用该函数前,先用 fopen打开一个文件,再使用fprintf函数输出到fopen打开的文件 中,最后用fclose关闭文件. 格式:fopen(filename,mode); 其中,mode分为:WRITE和APPEND fprintf(fd,format,vars); 其中fd,为fopen打开的文件,format输出的格式,vars为变量组 fclose(fd); 演示
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教程 - 第4章 - 方程求解

数值求解方法时收敛, 我们可以用它限制区间的最大长度:
> realroot(%%,1/1000);
1195 1024
,
299 256
,
3313 1024 ,
1657 512
,
-633 512
,
-1265 1024
求解方程或方程组的整数解时使用函数 isolve, 它常常被用来求解不定方程. 例如 著名的“百钱买百鸡”问题♣的求解过程为:
> solve(a+ln(x-3)-ln(x));
- 100 -
{ x = x, a = −ln( x − 3 ) + ln( x ) }
很多情况下, 我们知道一类方程或方程组有解, 但却没有解决这类方程的一般解法, 或者说没有解析解. 比如, 一般的五次或五次以上的多项式, 其解不能写成解析表达式. Maple 具备用所有一般算法尝试所遇到的问题, 在找不到解的时候, Maple 会用 RootOf 给出形式解.
=
x6,
2
x7
=
x7
}
> nops({solve(eqns)}); 128
但是, 有时候, Maple 甚至对一些“显而易见”的结果置之不理, 如:
> solve(sin(x)=3*x/Pi,x); RootOf( 3 _Z − sin( _Z ) π )
此方程的解为 ± π , 0 , 但 Maple 却对这个超越方程无能为力, 即便使用 allvalues 6
1.2.3 递归方程的求解 在 Maple 中, 可以求解有限差分方程(也称递归方程), 所需调用的函数是 rsolve, 该
函数使用的是一些比较通用的方法, 例如产生函数法、z 变换法以及一些基于变量替换 和特征方程的方法. 作为例子, 求解 Fibonacci 多项式:
数学软件Maple使用教程
数学软件Maple使⽤教程数学实验数学软件Maple使⽤教程序⾔⼀.什么是数学实验?我们都熟悉物理实验和化学实验,就是利⽤仪器设备,通过实验来了解物理现象、化学物质等的特性。
同样,数学实验也是要通过实验来了解数学问题的特性并解决对应的数学问题。
过去,因为实验设备和实验⼿段的问题,⽆法解决数学上的实验问题,所以,⼀直没有听说过数学实验这个词。
随着计算机的飞速发展,计算速度越来越快,软件功能也越来越强,许多数学问题都可以由计算机代替完成,也为我们⽤实验解决数学问题提供了可能。
数学实验就是以计算机为仪器,以软件为载体,通过实验解决实际中的数学问题。
⼆.常⽤的数学软件⽬前较流⾏的数学软件主要有四种:1.MathACD其优点是许多数学符号键盘化,通过键盘可以直接输⼊数学符号,在教学⽅⾯使⽤起来⾮常⽅便。
缺点是⽬前仅能作数值运算,符号运算功能较弱,输出界⾯不好。
2.Matlab优点是⼤型矩阵运算功能⾮常强,构造个⼈适⽤函数⽅便很⽅便,因此,⾮常适合⼤型⼯程技术中使⽤。
缺点是输出界⾯稍差,符号运算功能也显得弱⼀些。
不过,在这个公司购买了Maple公司的内核以后,符号运算功能已经得到了⼤⼤的加强。
再⼀个缺点就是这个软件太⼤,按现在流⾏的版本5.2,⾃⾝有400多兆,占硬盘空间近1个G,⼀般稍早些的计算机都安装部下。
我们这次没⽤它主要就是这个原因。
3.Mathematica其优点是结构严谨,输出界⾯好,计算功能强,是专业科学技术⼈员所喜爱的数学软件。
缺点是软件本⾝较⼤,⽬前流⾏的3.0版本有200兆;另⼀个缺点就是命令太长,每⼀个命令都要输⼊英⽂全名,因此,需要英语⽔平较⾼。
4.Maple优点是输出界⾯很好,与我们平常书写⼏乎⼀致;还有⼀个最⼤的优点就是它的符号运算功能特别强,这对于既要作数值运算,⼜要作符号运算时就显得⾮常⽅便了。
除此之外,其软件只有30兆,安装也很⽅便(直接拷贝就可以⽤)。
所以,我们把它放到学校⽹上直接调⽤。
Maple入门教程Part4_图形和动画
Part 4:图形和动画西希安工程模拟软件(上海)有限公司,20084.0 介绍第四部分:图形和动画,你将创建 2-D 和 3-D 图形。
你将学习如何使用关联菜单、命令、或图形生成器创建不同类型的图形和动画,这些图形和动画对于探索数学非常有用,包括隐式图形、参数图形、向量场图形、和几何对象的图形等。
最后,通过两个应用程序,你将学习如何创建复合的动画,用于物理系统的设计和模拟。
4.1 二维和三维图形Maple 可以生成方程和表达式的 2-D 和 3-D 图形。
显示两条曲线。
x5101520251233-D 图形创建 3-D 图形。
例子:输入关于 x 和 y 的表达式(例如)。
鼠标右击表达式,选择 Plots >3-D Plots > x,y.例子:按住鼠标左键并移动鼠标,旋转图形。
例子:选择关联菜单中的操作器移动和缩放图形。
提示:你也可以从窗口上侧的工具栏中选择不同的操作方式。
图形属性你可以通过不同的方式修改图形的属性。
图形的关联菜单中包含多种对应的属性,你可以通过鼠标选取改变图形选项。
你也可以发现2-D 和 3-D图形对应的关联菜单是不一样的。
例子:右击图形弹出关联菜单,选取透明度 ,改变图形的透明度。
图形选项也可以通过选择窗口上方的工具条图标改变。
例子:点击图形,选择菜单图形 > 坐标轴> 立方体框。
绘图向导Plotting Guide 方便你快速发现需要的图形类型。
进入绘图向导的方式是从帮助菜单>Manuals, Resources, and more>PlottingGuide4.2 使用图形生成器操作步骤结果图形生成器使用Maple中内置的图形生成器能够快速创建图形。
例子:输入你想要绘图的表达式。
从关联菜单中选取 Plots > Plot Builder,弹出图形生成器窗口,选择你需要的图形类型,添加标题,设置选项,等等,快速完成所有的操作。
右边的例子显示如何使用图形标题,坐标轴,和带有等高线的面图。
Maple入门手册(1)
其中 f 代表一个包含有下标 i 的表达式。 在下面这个例子中,f 是 i^2。我们可以使用 seq()函数创建表达式组 f(2),f(3),f(4)。
12
要想得到函数值,输入函数名和变量值。用 f(x)的形式计算,f 是函数名,x 是设置的变量 值。
定义多变量函数: 多变量函数的定义和单变量函数定义非常相似。唯一的不同是,多变量函数有更多独立变量 。 在下面的例子中,函数名士 f,有两个独立变量 x 和 y。假如,我们要定义这样一个多变量 函数 f(x,y)=x^2+y^2
注意,每行命令后的冒号是很重要的。如果你键入的是分号,你会看到在执行 plot()命令个图一起显示。
我们得到了与上面例子相同的图。 制作动画 动画师按顺序显示的一系列帧。在 Maple 中有两个基本的动画命令。它们是 animate 和 animate3d。在使用它们之前,我们必须先通过 with(plot)命令加载绘图工具包。 二维动画: 使用 animate()来创建二维动画。它有一个帧变量 t 和一个独立变量 x。帧变量 t 在每一帧都 变化,独立变量 x 定义函数变量在每一帧的范围。
1
本稿由 哈尔滨工程大学船舶工程学院 张崇伟 制作,免费学术共享,禁止用于商业目的。
使用“:=”定义表达式 Maple 中的绝大多数计算中都要定义表达式。表达式是由数字、变量和算术符号组成的。为 了定义一个表达式,需要按如下规定定义表达式名,(表达式名):=( 表 达 式 形 式 )。 这 样 , 任何你想使用这个表达式的时候,你可以直接使用表达式名,而不用重复键入具体的表达式 形式。下面的例子展示了定义表达式 x^2+x+2,它的表达式名为“expression1”:
Maple基础教程(修订稿)
Maple基础一 Maple的基本运算1数值计算问题在应用Maple做算术运算时,只需将Maple当作一个“计算器”使用,所不同的是命令结束时需加“;”或“:”J ■■在Maple中,主要的算术运算符有“ + ”(加)、“-(减卜“ * ” (乘卜“/”(除)以及“八”(乘方或幕,或记为**),值得注意的是,“A”的表达式只能有两个操作数,换言之,a A b A c是错误的,而“+”或“ *”的任意表达式可以有两个或者两个以上的操作数2.1.1有理数运算作为一个符号代数系统,Maple可以绝对避免算术运算的舍入误差.如果要求出两个整数运算的近似值时,只需在任意一个整数后加“.”(或“ .0”),或者利用“ evalf”命令把表达式转换成浮点形式,默认浮点数位是10 (即:Digits:=10,据此可任意改变浮点数位,如Digits:=20).> 123456789/987654321;13717421109739369> evalf(%);.1249999989> big_number:=3A(3A3);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(2A(2A4)+1);true3) 确定第i个素数(ithprime)若记第1个素数为2,判断第i个素数的命令格式:ithprime(i);4) 一组数的最大值(max)/最小值(min)命令格式:max(x1,x2,…,xn); #求xg,…,x n中的最大值min(x1,x2,…,xn); #求 X1,X2,…,X n 中的最小值5) 随机数生成器(rand)命令格式:rand( ); #随机返回一个12位数字的非负整数rand(a..b); #调用rand(a..b)返回一个程序,它在调用时生成一个在范围 [a, b]内的随机数> ran d();427419669081> myproc:=ra nd(1..2002):> myproc();> myproc(); 19161204注意,rand(n)是rand(0..n-1)的简写形式.2.1.2复数运算复数是Maple中的基本数据类型.虚数单位i在Maple中用I表示可以用Re( )、Im( )、conjugate()和argument )等函数分别计算实数的实部、虚部、共轭复数和幅角主值等运算.试作如下实验:> complex_number:=(1+2*l)*(3+4*l);complex, nu mber := -5+101> Re(%);lm(%%);conjugate(%%%);argume nt(complex_ nu mber);-510-5-10 1-arcta n(2) 二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的任意表达式.2> product(k A2,k=1..10); #计算k 关于 1..10 的连乘13168189440000> product(kA2,k); #计算k2的不确定乘积> product(a[k],k=0..5);■(k)2 #计算a i(i=0..5)的连乘a0 a1a2a3a4a5> Product(n+k,k=0..m)=product(n+k,k=0..m); #计算(n+k)的连乘,并写出其惰性表达式mnk =0(n kH;(n m 1)> product(k,k=RootOf(xA3-2));#计算 3x -2的三个根的乘积2) 指数函数 计算指数函数exp 关于x3) 确定求和与不确定求和 命令格式:sum(f,k);sum(f,k=m.. n);sum(f,k=alpha); sum(f,k=expr);其中,f —任意表达式,k —乘积指数名称,m,n —整数或任意表达式 含k 的表达式.Sum(kA2,k=1.. n)=sum(kA2,k=1.. n);的表达式的命令格式为:exp(x); sum,alpha —代数数 RootOf, expr —不' k 2;" 1)3-;(n 1)2k -13 2Sum(1/k!,k=0..i nfini ty)=sum(1/k!,k=0..i nfin ity);处1' | =e k! -e k =0 ©sum(a[k]*x[k],k=0.. n);nzk =0a k xksum(k/(k+1),k=RootOf(x A 2-3));3)三角函数/双曲函数命令格式: sin(x); cos(x); tan(x); sin h(x); cosh(x); tan h(x); 其中,x 为任意表达式. > Sin(Pi)=sin(Pi);cot(x);coth(x);sec(x);sech(x); csc(x);csch(x);Sin (二)=0 4) 反三角函数/反双曲函数 命令格式:arcsin(x);arccos(x);arcsin h(x); arccosh(x); arcta n( y,x);其中,x, y 为表达式.反三角函数/反双曲函数的参数必须按弧度计算 > arcsinh(l);arcta n( x); arccot(x); arcta nh(x); arccoth(x);arcsec(x); arccsc(x); arcsech(x); arccsch(x);> cos(arcsin(x));ln(1 2)〕(n)> f(1,2);> f:=(x,y)->a*x*y*exp(xA2+yA2);(X2+y 2) f := (x, y ) —■ a x y e另一个定义函数的命令是 un apply,其作用是从一个表达式建立一个算子或函数 命令格式为:f:=unapply(expr, x);命令格式为:f:=unapply(expr, x, y,…); > f:=u napply(xA4+xA3+xA2+x+1,x);432.f := X —; x x x x 15)对数函数 命令格式:In(x);log[a] (x);Iog10(x);一般地,在In(x)中要求#自然对数 #一般对数 #常用对数x>0.但对于复数型表达式x,有:In(x)=ln(abs(x)) I * argument(x)(其中,-二:::argument(x)空愿)> Iog10(1000000);ln (1000000 )ln( 10)> simplify(%); #化简上式 222函数的定义试看下面一个例子: > f(x):=a*x A 2+b*x+c;---并不是函数,而是一个表达式2f(x) := a x b x c> f(x),f(O),f(1/a);由上述结果可以看出,用赋值方法定义的f(x)是一个表达式而不是一个函数 在Maple 中,要真正完成一个函数的定义,需要用算子(也称箭头操作符): > f:=x->a*xA2+b*x+c;f := x — a x 2b x c> f(x),f(0),f(1/a);> f:=(x,y)->xA2+yA2;f := (x, y) —; x 2y 2 2a xb x c, f( 0), f借助函数piecewise 可以生成简单分段函数: > abs(x)=piecewise(x>O,x,x=O,O,x<O,-x);x 0 :: x | x | = « 0 x = 0-xX £ 0清除函数的定义用命令 un assig n. > un assig n(f); > f(1,1);f(1,1)定义了一个函数后,就可以使用op 或nops 指令查看有关函数中操作数的信息 .nops(expr),函数op的主要功能是,其命令格式为: op(expr); op(i, expr); op(i .. j, expr); nops(expr);expr:=6+cos(x)+s in( x)*cos(x)A 2;2expr := 6 cos( x) sin (x)cos(x)> op(expr);26, cos(x), sin(x) cos(x)> no ps(expr);32.2.3 Maple 中的常量与变量名为了解决数学问题,一些常用的数学常数是必要的.Maple 系统中已经存储了一些数学常数在表达式序歹U constants 中: > constants;false,,::, true, Catalan, FAIL,二为了方便使用,现将上述常数的具体含义列示如下:2.2.4函数类型转换实现函数类型转换的命令是convert .命令格式:convert(expr, form);#把数学式 expr 转换成 form 的形式#获取表达式的操作数#取出expr 里第i 个操作数, #expr 的第i 到第j 个操作数 #返回操作数的个数convert(expr, form, x); #指定变量 x,此时 form 只适于 exp、sin、cosconvert指令所提供的三角函数、指数与函数的转换共有exp等7种:(1) exp:将三角函数转换成指数(2) expln:把数学式转换成指数与对数⑶expsincos分别把三角函数与双曲函数转换成sin、cos与指数的形式(4) In:将反三角函数转换成对数(5) sincos将三角函数转换成sin与cos的形式,而把双曲函数转换成 sinh与cosh的形式⑹tan:将三角函数转换成tan的形式(7) trig :将指数函数转换成三角函数与对数函数> convert(sinh(x),exp);#将sinh(x)转换成exp类型1 x 1 1 e x -2 2 e x2.2.5函数的映射一map指令在符号运算的世界里,映射指令map可以说是相当重要的一个指令,它可以把函数或指令映射到这些结构里的元素,而不破坏整个结构的完整性 .命令格式为map(f, expr); map(f, expr, a); #将函数f映射到expr的每个操作数#将函数f映射到expr的每个操作数,并取出a为f的第2个自变量map(f, expr, a1, a2,…,an);井将函数f映射到expr的每个操作数,并取al〜an为f的第2〜n+1个自变量map2(f, a1, expr, a2,…,an); #以al为第1个自变量,expr的操作数为第2个自变量,a2为第3个自变量…,an为第n+1个自变量来映射函数f > f:=x->sqrt(x)+x A2;: 2f := x 、 x x> map(f,[a,b,c]);[a a2,b b2, c c2]> map(h, [a,b,c],x,y);[h(a,x,y),h(b,x,y),h(c,x,y)]3求值3.1赋值在Maple中,不需要申明变量的类型,甚至在使用变量前不需要将它赋值,这是Maple与其它高级程序设计语言不同的一点,也正是Maple符号演算的魅力所在,这个特性是由Maple与众不同的赋值方法决定的.为了理解其赋值机制,先看下面的例子.> p:=9*x A3-37*x A2+47*x-19;3 2p := 9 x -37 x 47 x - 19> roots(p);> subs(x=19/9,p);3.2变量代换subs ( var = repacedment expression;调用的结果是将表达式 expression中所有变量var出现的地方替换成replacement. > f:=xA2+exp(xA3)-8;2 (x3 )f := x e 「8> subs(x=1,f);-7 + e如果需要计算,必须调用求值函数evalf.如:> evalf(%);5.> subs(x=y,y=z,x A2*y); (顺序替换)3Z> subs({x=y,y=z},xA2*y); (同步替换)2y z> 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 + 3 a> subs({p=q,q=p},f(p,q)); (互换)f(q, p)3.3求值规则1) 对表达式求值命令格式:eval(e, x=a); #求表达式 e在x=a处的值eval(e, eqns); #对方程或方程组 eqns求值eval(e); #表达式e求值到上面两层eval(x, n); #给出求值名称的第n层求值> p:=xA5+xA4+xA3+xA2+x+73;5 丄4丄 3 丄2丄丄_ _p := x x x x x 73> eval(p,x=7);19680当表达式在异常点处求值时,eval会给一个错误消息.如下:> eval(s in( x)/x,x=0);Error, numeric exception: division by zero2) 在代数数(或者函数)域求值命令格式:evala(expr); #对表达式或者未求值函数求值evala(expr,op ts); #求值时可加选项(opts)在Maple中,代数数用函数RootOf()来表示.如3作为一个代数数,可以表示为:> alpha:=RootOf(xA2-3,x);2口:= RootOf (_Z - 3)> simplify(alphaA2);3在Maple内部,代数数不再表示为根式,而在化简时,仅仅利用到〉2= 3这样的事实.这里,Maple用到一个内部变量 _Z.再看下面一个例子,其中alias是缩写的定义函数,而参数lenstra指lenstra 椭圆曲线方法:> alias (al pha=RootOf(x A2-2)):> evala(factor(xA2-2,alpha),le nstra);(x 亠 *) (x -:)> evala(quo(xA2-x+3,x-alpha,x,'r'));亠:亠x> r;3 - /> simplify(%);5 -圧3) 在复数域上符号求值操纵复数型表达式并将其分离给出expr的实部和虚部的函数为 evalc,命令格式为:evalc(expr);evalc假定所有变量表示数值,且实数变量的函数是实数类型.其输出规范形式为:expr1+l*expr2.> evalc(si n(6+8*1));sin(6) cosh(8) +1 cos(6) sinh(8)> evalc(f(exp(alpha+x*l)));f( e cos( x) I e: sin(x))4) 使用浮点算法求值命令格式为:evalf(expr, n);> evalf(Pi,50);3.1415926535897932384626433832795028841971693993751> evalf(si n( 3+4*I));3.853738038 -27.01681326 I5) 对惰性函数求值把只用表达式表示而暂不求值的函数称为惰性函数,对任意代数表达式f求值的命令格式为:value(f); > F:=ln t(exp(x),x);J*F := | e x dxJ> value(%);xe> f:=Limit(s in (x)/x,x=0);sin(x)f := lim -----X—.0 x> value(%);1另外,将惰性函数的大写字母改为小写字母亦即可求值.如下例:> Limit(si n( x)/x,x=0)=limit(si n(x)/x,x=0);sin(x),lim 1X r04 数据结构Maple 中有许多内建的与 FORTRAN 、 C 或 Pascal 不同的数据结构 . 主要的数据结构有序列(sequenee卜列表(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 := 1,4, 9,16, 25> t:=sin,com,tan,cot;t := sin, com, tan, cot一个序列也可以由若干个序列复合而成, 如:> s:=1,(4,9,16),25;s := 1,4, 9,16, 25> s,s;1,4, 9, 16, 25, 1, 4, 9,16,25而符号 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 A2,i=1..10);1,4,9, 16, 25, 36, 49, 64, 81, 100> seq(iA3,i=x+y+z);333x ,y ,z获得一个序列中的特定元素选用操作符 [ ], 如:> seq(ithprime(i),i=1..20);2,3, 5,7, 11, 13, 17, 19, 23, 29,31,37,41,43, 47, 53,59,61,67,71> %[6],%[17];13, 594.2.2列表列表(list),就是把对象(元素)放在一起的一种数据结构,一般地,用方括号[]表示列表•如下例:> I:=[x,1,1-Z,x];l := [X, 1, 1 - z, x]> whattype(%);list4.2.3集合集合(set)也是把对象(元素)放在一起的数据结构,一般地,用花括号表示集合.> s:={x,1,1-z,x};s := { 1, X, 1 -z}> whattype(%);set空集定义为{ }.Maple中集合的基本运算有交 (intersect)、并(union)、差(minus):> A:={seq(i A3,i=1..10)};B:={seq(i A2,i=1..10)};A := { 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000}B := { 1,4, 9, 16,25,36,49,64, 81, 100}> A in tersect B;{1,64}4.3数组和表在Maple中,数组(array)由命令array产生,其下标变量(index)可以自由指定.下标由1开始的一维数组称为向量(vector),二维以上的数组称为矩阵(matrix).数组的元素按顺序排列,任意存取一数组的元素要比列表或序列快的多•区分一个数据结构是数组还是列表要用“type”命令.表(table)在建立时使用圆括号,变量能对一个表赋值,但一个在存取在算子中的未赋值变量会被自动地假定是表,表的索引可以成为任意Maple表达式.表中元素的次序不是固定的.5 Maple高级输入与输出操作生成LATEXMaple可以把它的表达式转换成LATEX,使用latex命令即可:> latex(xA2+yA2=zA2);{x}A{2}+{y}A{2}={z}A{2}还可以将转换结果存为一个文件(LatexFile):> latex(xA2 + yA2 = zA2, LatexFile);再如下例:> latex(I nt(1/(xA2+1),x)=i nt(1/(xA2+1),x));\i nt \! \left( {x}A{2}+1 \right) A{-1}{dx}=\arcta n\left( x \right)微积分运算1函数的极限和连续1.1函数和表达式的极限 lim f (x)命令格式为:limit(f,x=a);求lim f (x)时的命令格式为 X — j a ■ 的命令格式为limit(f, x=a, left);请看下述例子: Limit((1+1/x)^x,x=infinity)=limit((1+1/x)Ax,x=infin ity); x f 1 > 1 +— I X 丿 limx - ■::Limit((x A n-1)/(x-1),x=1)=limit((xAn-1)/(x-1),x=1); lim x >1n x - 1 -1 =n Limit(xAx,x=0,right)=limit(xAx,x=0,righ t); lim X r 0 +limit(a*x*y-b/(x*y),{x=1,y=1});limit(xA2*(1+x)-yA2*((1-y))/(xA2+yA2),{x=0,y=0});un defi ned 下例就是化二重极限为二次极限而得正确结果: limit((si n(x+y)/(si n(x)*sin(y)),{x=Pi/4,y=Pi/4}));■/ sin(x +y){ sin(x)sin(y)' xlim itlimit(limit(si n(x+y)/(si n(x)*si n(y)),x=Pi/4),y=Pi/4); 2 1.2函数的连续性limit(f, x=a, right); 求 lim f (x)时x _1<:}1.2.1连续 在Maple 中可以用函数iscont 来判断一个函数或者表达式在区间上的连续性 .命令格式为: isc on t(expr, x=a..b, ' colsed '/'ope ned ); 其中,closed 表示闭区间,而opened 表示开区间(此为系统默认状态). 如果表达式在区间上连续,iscont 返回true,否则返回false,当iscont 无法确定连续性时返回 FAIL. 另外,iscont 函数假定表达式中的所有符号都是实数型 .颇为有趣的是,当给定区间[a,b ] (a>b)时,iscont 会自动按[b,a ]处理. > isco nt(1/x,x=1..2); true > isc on t(1/x,x=-1..1,closed); false> iscont(1/(x+a),x=0..1);1.2.2间断函数discont 可以寻找函数或表达式在实数域的间断点 ,当间断点周期或成对出现时,Maple 会利用 一些辅助变量予以表达,比如,_Zn ~(任意整数)、_NZn ~(任意自然数)和Bn ~(一个二进制数,0或者1),其 中n 是序号.判定f (x )间断点的命令为:disc on t(f, x);> disco nt(l n(xA2-4),x);{ -2, 2}> disco nt(arcta n(1/2*ta n(2*x))/(xA2-1),x);1 1{-1, 1,2 二一Z 1~ 4 二}> disco nt(rou nd(3*x-1/2),x);{33-Z1函数rou nd 为“四舍五入”函数,上例并非一目了然,对其进一步理解可借助于函数 的fdisco nt 例子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Maple入门教程讲解
Maple的符号计算功能相当强大,几乎能处理所有的复杂运算。
新用户们在使用Maple软件之前,需要对Maple的工作界面有所熟悉。
下面介绍Maple使用入门第一步,了解Maple 工作界面。
1.Maple工作界面的提示符用来输入Maple命令。
2.提示符“[>”左边的“[”号表示所要一起执行的命令区,该区的命令将按先后次序连续一次执行完。
3.窗口最顶端是菜单栏,与Word中的菜单栏有相似之处,每个菜单下包括下级菜单。
常用工具栏中(从左到右)有“新建”、“打开”、“保存”、“打印”、“剪切”、“复制”、“粘贴”、“撤消”、“Maple输入转换”、“文本输入转换”、“增加命令区”、“撤消分组”、“建立分组”、“停止运行”及三个显示比例选择。
Maple工作界面示例
4.若点击工具栏中T按钮,则提示符箭头消失,变为[号,表示当前为文本输入,工具栏也出现相应的字号字体选择框。
5.点击提示符按钮、回车等将增加一个命令区。
6.左侧是各种数学样式命令,包括“表达式”、“微积分”、“常用符号”、“矩阵”、“单位”等等常用的数学命令。
以上是对Maple工作界面的一些主要功能的简单介绍,具体的使用需要结合具体的情况。