第四章 Maple 简介
- 格式:ppt
- 大小:146.50 KB
- 文档页数:49
1.Maple概述什么是Maple, 怎么学习Maple?Maple软件是加拿大Waterloo大学在1980年开始开发,到现在最新的版本是Maple11, Maple具有强大的数值计算能力,图形处理能力,特别是符号计算能力。
常用的数学软件除Maple外,有Matlab等, 统计软件: SAS,SPSS,运筹学软件:Lingo, WINQSB.1. 数值计算与符号计算的区别a*x^2+b*x+c=0求这方程的跟, 来说明数值计算与符号计算的区别数值计算:切线法符号计算:Maple功能非常之强大, 不仅适合数学家, 还适合物理学家, 工程师,化学家,生物学家, 总之,它适合所有需要科学计算的人.举例:1) 求PI的前100位2) 求X的范围3) 求积分演示1.1.2界面介绍1.工具栏在Maple界面上说明2. 工作区每一个“>”是一个执行块. 表示命令提示符。
9-95 1.2基本运算能精确计算整数、有理数或者实数、复数的四则运算, 以及模算术、硬件浮点数和任意精度的浮点数甚至于矩阵的计算等等.总之, Maple可以进行任意数值计算.10-95 1.2.1数值计算问题关键符号问号(?) 帮助分号(;) 表示表达式结束,显示内容冒号(:) 表示表达式结束,不显示内容字符(\) 表示内容连续井号(#) 表示注释百分号(%) 表示上一步(I) 表示虚数单位演示11-951.2.1.2复数运算函数作用格式Re 返回实部function(co mplex)Im返回虚部conjugate 共轭复数argument 幅角abs模演示1.2.1.3数的进制转换convert 函数●b inary二进制●d ecimal 十进制●o ctal 八进制●h ex十六进制演示1.2.1.4常用函数●isprime素数isprime(n)●max/min最值max(a1,a2,…);●mod/modp/mods余a mod b; modp(a,b); mods(a,b);●rand随机数rand();rand(a..b)();14-95 1.2.1.5整数计算函数abs 求绝对值ifactor 求因子iquo 求商iquo(a,b,’r’)irem 余数irem(a,b,’q’)isqrt 近似的平方跟整数15-95 1.2.1.6精确与非精确运算在精确运算中,必须所有的数是整数或恒数(如, Pi), Maple不会对该表达式进行浮点运算.如果你想得到非精确值, 用浮点数进行该表达式计算.演示1.2.2初等函数初等数学是数学的基础之一, 也是数学中最有魅力的一部分内容. 通过下面的内容我们可以领略Maple对初等数学的驾驭能力, 也可以通过这些实验对Maple产生一些感性认识. 指数函数:exp自然函数:ln一般对数:log[a]常用对数: log101.2.2.1重要函数连乘函数: product/Product 连加函数: sum/Sum展开函数:expand合并函数:combine1.2.2.2简单函数定义Maple定义简单的函数有2种方法:•函数法:unapply(expr,vars);expr为任意表达式,vars为变量组•箭头法: (vars)->expr;expr为任意表达式,vars为变量组重要函数floorceilopnopsmap演示1.3求值1.3.1赋值在Maple中,不需要申明变量类型,直接对变量赋值,其赋值格式为.变量明:=表达式;例如:y:=5;f:=x^2+3*x+2;1.3.2变量代换在表达式化简中, 变量代换是一个得力工具. 我们可以利用函数subs根据自己的意愿进行变量代换, 最简单的调用这个函数的形式是这样的:单个变量替换subs ( x= a, expr);多个变量替换subs ( x = a,y=b, expr);调用的结果是将表达式expr中所有变量var出现的地方替换成变量的值.演示subs命令●顺序替换subs(var1=val1,var2=val2,…,expr);subs((var1=val1,var2=val2,…),expr);●同步替换subs({var1=val1,var2=val2,…},expr);演示1.3.3 假设机制解决某些问题的时候,我们必须要对其变量进行假设,格式如下:assume(x1::prop1,x2::prop2,…);assume(x1>val,x2<val);其中xi表示变量,propi表示属性,val表示值例如:sin(n*Pi),如果n是整数,这个表达式值为0assume(n::interger)演示1.3.4 求值规则●eval 命令格式:eval(e, x=a); #求表达式e在x=a处的值eval(e, vars); #对方多个变量求值●evalc #对复数求值●evalf #求浮点数●evala #对表达式或未求值函数求值●value #对惰性表达式求值1.4 数据结构●变量类型(数字,字符串,复合表达式)integer, float, list, set, exprseq,…●运算符: +, -, *, /, ^●关系表达式:=, <>, <, <=注意“>”●逻辑表达式: and, or ,not26-95 1.4.1 数据及变量类型查询●whattype(expr)其中expr是任何表达式●type(expr,t)其中expr是任何表达式,t为有效表达式1.4.2 序列,列表和集合1.4.2.1序列所谓序列(Sequence), 就是一组用逗号隔开的表达式列.如:s:=1,4,9,16,25;一个序列也可以由若干个序列复合而成s:=s,s;该值为:1,4,9,16,25,1,4,9,16,25;产生序列的函数为seq(f,i=m..n)其中f是函数,可以是i的函数,也可以不是.判断序列的函数为:nops演示1.4.2.2 列表简单的说, 就是序列加上方括号如:L:=[1,2,3,4];L1:=[[1,2,3],[2,3,4]];对序列和列表操作的函数nops:个数sort:排序op:解开操作extracts operands from an expression1.4.2.3 集合集合(set)也是把对象(元素)放在一起的数据结构, 与列表不同的是集合中不可以有相同的元素(如果有, Maple也会自动将其当作同一个元素), 另外, 集合中的元素不管次序. 用花括号表示集合.s:={x,1,1-z,x};集合的基本运算函数:交(intersect),并(union),差(minus)格式:函数(集合,集合);1.4.3 数组和表arraytableS := table([(2)=45,(4)=61]);1.4.4 数据类型的转换与合并convert 这个功能强大的类型转换函数,可以实现列表和数组的类型转换将array转换为list将array转换为set1.5 高级输入与输出操作Maple提供了良好的接口来编辑与计算数学式. 许多时候, 我们可能需要把Maple的运算结果输出到一个文件中, 或者在一个文本编辑器里先编好一个较大的Maple程序, 再将它加载到Maple的环境里.1.5.1 fprintffprintf函数是用来输出到文件中,在使用该函数前,先用fopen打开一个文件,再使用fprintf函数输出到fopen打开的文件中,最后用fclose关闭文件。
符号计算系统maple 教程第1章 maple 简介*.mw 格式的maple 文档可以将文本数字、数学公式、声音、图像等内容组合在一起,生成具有多媒体效果的专业科技文档。
Maple 可以打开maple 12进入文件模式窗口;打开 class worksheets maple 12,打开传统的工作模式窗口;打开command-line maple12,进入命令行模式窗口。
在command-line maple12窗口中,按enter 键执行表达式计算,若命令很长,在输入过程中按shift+enter 键将命令分成若干行,在class worksheets maple 12模式下,表达式必须以冒号”:”或分号”;”结尾,在maple 12模式下则不需要如此。
#及其所在行后面的部分为注释说明语句。
在maple12模式下进行一下操作:maple 的优点是可以直接修改编辑好的公式等 因式分解:>,而且可以直接在出现结果后继续在factor 公式中进行修改。
多项式展开>公约数:> 公倍数:>计算111121k k =-∑:>计算和式31nk k =∑:>求解线性方程组:215x y x y +=-=:>计算44sin()d x dx x ⎛⎫= ⎪⎝⎭:>计算41xdx x -⎰:>计算22()bdacx y dxdy +⎰⎰:>计算矩阵123213123A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦的特征值和特征向量。
>计算上面A 矩阵的1-范数: >画出f(x)=x 2sin(x)-1在区间[-7,7]上的图像:画长幅内次摆线:3cos 24cos3{,[0,2]3sin 24sin 3x t tt y t tπ=+∈=-画出22()(,)xy f x y xye -+=在[2,2],[2,2]x y ∈-∈-上的图像。
获取帮助:文件模式下:maple12:按F1会出现快速帮助菜单。
Maple简介Maple简介⼀、Maple操作界⾯介绍1、编辑功能:编辑功能中查找模块,可以帮助查找你所需要的关键字节.具体操作如图所⽰:按上述操作完成后,出现下图所⽰的对话框:在⽂本框中输⼊你要查找的字符或者符号,可以通过findprevious上下翻看,也可以通过replacewith操作替代你所查找的字符或者符号.cancle表⽰取消操作.其他编辑操作包括分割或连接(splitorjoin)分为⼀个执⾏过程(快截键为f3、f4)和选定块(shift+f3、shift+f4)过程四个操作块运⾏操作(Execute):运⾏选定或者当前的maple中的语句;删除运⾏结果操作(Removeoutput):将选定或者当前的maple中运⾏结果从⼯作爷中删除或者不显⽰;2、⽰图操作( VIEW)⽂档在屏幕上的显⽰模式称为“⽰图”,maple⽰图菜单主要设置⼯作爷⽂档的⼀些视图属性,所包括菜单如上图所⽰。
⼯具条(toolbar)的功能和其他系统⼀样,主要包括打开⽂件、创建新⽂档、存盘、打印当前页⾯、复制、剪切、粘贴、撤消操作等。
内容⼯具条:“枫叶”表⽰设置⼯作页和标准公式和maple语⾔之间的转换“X”表⽰设置⼯作页和标准公式在活动和⾮活动⽅式之间的转换“(对号)”表⽰标准公式有效时⾃动检查输⼊表达式的正确性“!”表⽰运⾏当前表达式3、插⼊操作(INSERT)插⼊操作⽐较简单这⾥就不做详细介绍,主要功能分为:⽂本插⼊(textinput);标准maple数学表达式插⼊;运⾏单元executegroup插⼊其中包括在光标前插⼊和光标后插⼊图形插⼊plot,其中包括两维和三维图象的插⼊电⼦表格插⼊spreadsheet段落插⼊parigraph,其中包括光标前插⼊和光标后插⼊数学输⼊对象(image)插⼊插⼊超级连接hyperlink4、其他操作窗⼝的功能和其他软件基本相同,这⾥就不做详细介绍了。
⼆、基本语法规则MaPle的科学计算功能主要是以命令输⼊的⽅式来实现的。
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 初识计算机代数系统Maple1.1 Maple简说1980年9月, 加拿大Waterloo大学的符号计算机研究小组成立, 开始了符号计算在计算机上实现的研究项目, 数学软件Maple是这个项目的产品. 目前, 这仍是一个正在研究的项目.Maple的第一个商业版本是1985年出版的. 随后几经更新, 到1992年, Windows系统下的Maple 2面世后, Maple被广泛地使用, 得到越来越多的用户. 特别是1994年, Maple 3出版后, 兴起了Maple热. 1996年初, Maple 4问世, 1998年初, Maple 5正式发行. 目前广泛流行的是Maple 7以及2002年5月面市的Maple 8.Maple是一个具有强大符号运算能力、数值计算能力、图形处理能力的交互式计算机代数系统(Computer Algebra System). 它可以借助键盘和显示器代替原来的笔和纸进行各种科学计算、数学推理、猜想的证明以及智能化文字处理.Maple这个超强数学工具不仅适合数学家、物理学家、工程师, 还适合化学家、生物学家和社会学家, 总之, 它适合于所有需要科学计算的人.1.2 Maple结构Maple软件主要由三个部分组成: 用户界面(Iris)、代数运算器(Kernel)、外部函数库(External library). 用户界面和代数运算器是用C语言写成的, 只占整个软件的一小部分, 当系统启动时, 即被装入, 主要负责输入命令和算式的初步处理、显示结果、函数图象的显示等. 代数运算器负责输入的编译、基本的代数运算(如有理数运算、初等代数运算等)以及内存的管理. Maple的大部分数学函数和过程是用Maple自身的语言写成的, 存于外部函数库中. 当一个函数被调用时, 在多数情况下, Maple会自动将该函数的过程调入内存, 一些不常用的函数才需要用户自己调入, 如线性代数包、统计包等, 这使得Maple在资源的利用上具有很大的优势, 只有最有用的东西才留驻内存, 这保证了Maple可以在较小内存的计算机上正常运行. 用户可以查看Maple的非内存函数的源程序, 也可以将自己编的函数、过程加到Maple的程序库中, 或建立自己的函数库.1.3 Maple输入输出方式为了满足不同用户的需要, Maple可以更换输入输出格式: 从菜单“Options | Input Display 和Out Display下可以选择所需的输入输出格式.Maple 7有2种输入方式: Maple语言(Maple Notation)和标准数学记法(Standard MathNotation). Maple语言是一种结构良好、方便实用的内建高级语言, 它的语法和Pascal或C有一定程度的相似, 但有很大差别. 它支持多种数据操作命令, 如函数、序列、集合、列表、数组、表, 还包含许多数据操作命令, 如类型检验、选择、组合等. 标准数学记法就是我们常用的数学语言.启动Maple, 会出现新建文档中的“[>”提示符, 这是Maple中可执行块的标志, 在“>”后即可输入命令, 结束用“;”(显示输出结果)或者“:”(不显示输出结果). 但是, 值得注意的是, 并不是说Maple的每一行只能执行一句命令, 而是在一个完整的可执行块中健入回车之后, Maple 会执行当前执行块中所有命令(可以是若干条命令或者是一段程序). 如果要输入的命令很长, 不能在一行输完, 可以换行输入, 此时换行命令用“shift+Enter”组合键, 而在最后一行加入结束标志“;”或“:”, 也可在非末行尾加符号“\”完成.Maple 7有4种输出方式: Maple语言、格式化文本(Character Notation)、固定格式记法(Typeset Notation)、标准数学记法(Standard Math Notation). 通常采用标准数学记法.Maple会认识一些输入的变量名称, 如希腊字母等. 为了使用方便, 现将希腊字母表罗列如下,输入时只需录入相应的英文,要输入大写希腊字母, 只需把英文首字母大写:有时候为了美观或特殊需要,可以采用Maple中的函数或程序设计方式控制其输出方式,如下例:> for i to 10 doprintf("i=%+2d and i^(1/2)=%+6.3f", i, eval(sqrt(i)));od;i=+1 and i^(1/2)=+1.000i=+2 and i^(1/2)=+1.414i=+3 and i^(1/2)=+1.732i=+4 andi^(1/2)=+2.000i=+5 and i^(1/2)=+2.236i=+6 and i^(1/2)=+2.449i=+7 and i^(1/2)=+2.646i=+8 andi^(1/2)=+2.828i=+9 and i^(1/2)=+3.000i=+10 and i^(1/2)=+3.162+2d的含义是带符号的十进位整数,域宽为2. 显然,这种输出方式不是我们想要的,为了得到更美观的输出效果,在语句中加入换行控制符“\n”即可:> for i to 10 doprintf("i=%+2d and i^(1/2)=%+6.3f\n", i, eval(sqrt(i)));od;i=+1 and i^(1/2)=+1.000i=+2 and i^(1/2)=+1.414i=+3 and i^(1/2)=+1.732i=+4 and i^(1/2)=+2.000i=+5 and i^(1/2)=+2.236i=+6 and i^(1/2)=+2.449i=+7 and i^(1/2)=+2.646i=+8 and i^(1/2)=+2.828i=+9 and i^(1/2)=+3.000i=+10 and i^(1/2)=+3.162再看下例:将输入的两个数字用特殊形式打印:> niceP:=proc(x,y)printf("value of x=%6.4f, value of y=%6.4f",x,y);end proc;:= niceP proc ()end proc ,x y ()printf ,,"value of x =%6.4f, value of y=%6.4f"x y > niceP(2.4,2002.204);value of x=2.4000, value of y=2002.20401.4 Maple 联机帮助学会寻求联机帮助是掌握一个软件的钥匙. Maple 有一个非常好的联机帮助系统, 它包含了90%以上命令的使用说明. 要了解Maple 的功能可用菜单帮助“Help ”, 它给出Maple 内容的浏览表, 这是一种树结构的目录表, 跟有…的词条说明其后还有子目录, 点击这样的词条后子目录就会出现(也可以用Tab 键和up, down 选定). 可以从底栏中看到函数命令全称, 例如, 我们选graphics …, 出现该条的子目录, 从中选2D …, 再选plot 就可得到作函数图象的命令plot 的完整帮助信息. 一般帮助信息都有实例, 我们可以将实例中的命令部分拷贝到作业面进行计算、演示, 由此可了解该命令的作用.在使用过程中, 如果对一个命令把握不准, 可用键盘命令对某个命令进行查询. 例如, 在命令区输入命令“?plot ”(或help(plot);), 然后回车将给出plot 命令的帮助信息, 或者将鼠标放在选定的要查询的命令的任何位置再点击菜单中的“Help ”即可.2 Maple 的基本运算2.1 数值计算问题算术是数学中最古老、最基础和最初等的一个分支, 它研究数的性质及其运算, 主要包括自然数、分数、小数的性质以及他们的加、减、乘、除四则运算. 在应用Maple 做算术运算时, 只需将Maple 当作一个“计算器”使用, 所不同的是命令结束时需加“;”或“:”.在Maple 中, 主要的算术运算符有“+”(加)、“–”(减)、“*”(乘)、“/”(除)以及“^”(乘方或幂,或记为**), 算术运算符与数字或字母一起组成任意表达式, 但其中“+”、“*”是最基本的运算, 其余运算均可归诸于求和或乘积形式. 算述表达式运算的次序为: 从左到右, 圆括号最先, 幂运算优先, 其次是乘除,最后是加减. 值得注意的是, “^”的表达式只能有两个操作数, 换言之, c b a ^^是错误的, 而“+”或“*”的任意表达式可以有两个或者两个以上的操作数.Maple 有能力精确计算任意位的整数、有理数或者实数、复数的四则运算, 以及模算术、硬件浮点数和任意精度的浮点数甚至于矩阵的计算等等. 总之, Maple 可以进行任意数值计算.但是, 任何软件或程序毕竟只是人们进行科学研究的一种必要的辅助, 即便它有很多优点, 但也有它的局限性, 为了客观地认识数学软件、认识Maple, 下面通过两个简单例子予以说明.第一个简单的数值计算实例想说明Maple 数值计算的答案的正确性:> 3!!!;2601218943565795100204903227081043611191521875016945785727541837850835631156947382240678577958130457082619920575892247259536641565162052015873791984587740832529105244690388811884123764341191951045505346658616243271940197113909845536727278537099345629855586719369774070003700430783758997420676784016967207846280629229032107161669867260548988445514257193985499448939594496064045132362140265986193073249369770477606067680670176491669403034819961881455625195592566918830825514942947596537274845624628824234526597789737740896466553992435928786212515967483220976029505696699927284670563747137533019248313587076125412683415860129447566011455420749589952563543068288634631084965650682771552996256790845235702552186222358130016700834523443236821935793184701956510729781804354173890560727428048583995919729021726612291298420516067579036232337699453964191475175567557695392233803056825308599977441675784352815913461340394604901269542028838347101363733824484506660093348484440711931292537694657354337375724772230181534032647177531984537341478674327048457983786618703257405938924215709695994630557521063203263493209220738320923356309923267504401701760572026010829288042335606643089888710297380797578013056049576342838683057190662205291174822510536697756603029574043387983471518552602805333866357139101046336419769097397432285994219837046979109956303389604675889865795711176566670039156748153115943980043625399399731203066490601325311304719028898491856203766669164468791125249193754425845895000311561682974304641142538074897281723375955380661719801404677935614793635266265683339509760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000上述运算结果在IBM PC 机(1G , 128M)上计算只需要0.01秒, 得到如此复杂的结果(1747位), 一个自然的问题是: 答案正确吗?为了回答这个问题, 我们借助于数值分析方法, 由Stiring 公式)exp(2!n n n n n -⋅⋅≈π可得: 17461060091.2!720⨯≈, 前三位数字与Maple 输出结果相同, 且两者结果均为1747位. 另外, 在720!的计算中, 5的因子的个数为:1785720572057205720432=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡ 这些5与足够多的2相乘将得到178个0, 而Maple 的输出结果中最后178位数为零. 由此, 可以相信Maple 结果的正确性.另一个例子则想说明Maple 计算的局限性:()()?8 ?86/23/1=-=-Maple 在处理问题时, 为了避免失根, 从不求算术式的近似值, 分数则化简为既约分数. 因此, 在Maple 中很容易得到:()()6/23/18 8-=-显然这是错误的. 这一点可以从代数的角度予以分析.不妨设()x =-3/18, 则083=+x , 即0)42)(2(2=+-+x x x , 显然()3/18-有3个结果, -2是其实数结果.另一方面, 设()x =-6/28, 则0)8(26=-+x , 即:0)42)(42)(2)(2()8)(8(2233=+++--+=-+x x x x x x x x显然()6/28-有6个结果, -2、2是其实数结果.这个简单的例子说明了Maple 在数值计算方面绝对不是万能的, 其计算结果也不是完全正确的, 但是, 通过更多的实验可以发现: Maple 只可能丢失部分结果, 而不会增加或很少给出完全错误的结果(如上例中Maple 的浮点数结果皆为 + 1.000000000 1.732050807I ). 这一点提醒我们, 在利用Maple 或其他任何数学软件或应用程序进行科学计算时, 必须运用相关数学基础知识校验结果的正确性.尽管Maple 存在缺陷(实际上, 任何一个数学软件或程序都存在缺陷), 但无数的事实说明Maple 仍然不失为一个具有强大科学计算功能的计算机代数系统. 事实上, Maple 同其他数学软件或程序一样只是科学计算的一个辅助工具, 数学基础才是数学科学中最重要的.2.1.1 有理数运算作为一个符号代数系统, Maple 可以绝对避免算术运算的舍入误差. 与计算器不同, Maple 从来不自作主张把算术式近似成浮点数, 而只是把两个有公因数的整数的商作化简处理. 如果要求出两个整数运算的近似值时, 只需在任意一个整数后加“.”(或“.0”), 或者利用“evalf ”命令把表达式转换成浮点形式, 默认浮点数位是10 (即: Digits:=10, 据此可任意改变浮点数位, 如Digits:=20).> 12!+(7*8^2)-12345/125;1197504873125> 123456789/987654321;13717421109739369> evalf(%); .1249999989> 10!; 100*100+1000+10+1; (100+100)*100-9;36288001101119991> big_number:=3^(3^3);:= big_number 7625597484987> length(%);13上述实验中使用了一个变量“big_number ”并用“:=”对其赋值, 与Pascal 语言一样为一个变量赋值用的是“:=”. 而另一个函数“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 保留为未求值.> irem(2002,101,'q'); # 求2002除以101的余数, 将商赋给q83> q; #显示q19> iquo(2002,101,'r'); # 求2002除以101的商, 将余数赋给r19> r; #显示r83> irem(x,3);()irem ,x 32)素数判别(isprime)素数判别一直是初等数论的一个难点, 也是整数分解问题的基础. Maple 提供的isprime 命令可以判定一个整数n 是否为素数. 命令格式: isprime(n);如果判定n 可分解, 则返回false, 如果返回true, 则n “很可能”是素数.> isprime(2^(2^4)+1);true> isprime(2^(2^5)+1);false上述两个例子是一个有趣的数论难题。
O O O O (1.7)(1.3)(1.2)O (1.13)(1.9)(1.14)(1.15)(1.1)O O O (1.8)(1.5)(1.12)(1.10)O O O O O O (1.6)(1.11)(1.4)O 第1章 Maple的基本量1.1数值类型whattype 0integerwhattype12fractionwhattype 0.floatconstants;false ,γ,N ,true ,Catalan ,FAIL ,πwhattype falsesymbolwhattype infinityextended_numericwhattype πsymbolwhattype undefinedextended_numericwhattype arcsin 1`*`whattype sqrt 2`^`whattype ln 2functionwhattype Icomplex extended_numericwhattype "ustc"stringwhattype 'ustc 'symbolwhattype ustcsymbolO (2.1)O (1.16)O (2.3)O (1.19)O O (2.2)O O O (1.21)O (1.20)O O (1.18)O O O (1.22)(1.17)类型转化convert 65535,hexFFFFconvert FFFF ,decimal ,1665535convert FFFF ,decimal ,88775Why?evalf π3.141592654evalf 20π3.1415926535897932385floor π,round π,ceil π3,3,4convert evalf π,string"3.141592654"1.2赋值x d 1x :=1y ,z d 2,3y ,z :=2,3z3y ,z d 2,3Error, illegal use of an object as a namey ,z d 2,3清除unassign xError, (in unassign) cannot unassign `1' (argument must be assignable)unassign "x"Error, (in unassign) cannot unassign `x' (argument must be assignable)unassign 'x 'x d 1; x d 'x ';x(2.8)(2.11)O O(2.9)(2.12)O O O (2.13)O (2.4)(2.7)(2.6)O O (2.10)O O (2.5)x :=1x :=x x替换x ,y d sqrt 2,sqrt 3x ,y :=2,3subs x =a ,y =b ,x y13a b Why?subs x =y ,y =x ,x y1Why?unassign 'x ','y 'subs x =a ,y =b ,x ya bsubs x =y 2,y =x 2,x yx 2subs y =x 2,x =y 2,x y1y2algsubs x C x 2=y ,1C x4x C 14algsubs x C x 2=y ,1C 2 x C x 221C 2 x C x 22algsubs x C x 2=y ,1C 4 x C 6 x 2C 4 x 3C x 41C 3 y C y 2C 1C 2 y x1.3定义O OO O O (3.5)(4.2)O O (4.3)(3.2)O O (3.1)(3.4)(4.4)O (3.7)(4.1)(3.3)O O (4.5)(3.6)O (3.8)a ,b ,cd 1,2,3a ,b ,c :=1,2,3f d x /a x 2C b x C c f :=x /a x 2C b x C cg d x ,y /x yg :=x ,y /x y注意:此处(x,y)的括号不可省。
§5.1 Maple语言概述一、Maple语言的的特点Maple是加拿大教授Keith Geddes与Gaston Gonnot在Waterloo大学于1980年开始设计开发的一种数学软件,并被赞助者很快推广到欧美各大学使用。
1988年,Waterloo大学成立了自己的公司并直接销售Maple,随着时间的推进,Maple的版本不断升级,功能不断强大。
2000年1月,在与英国剑桥的“the Numerical Algorithms Groups(NAG)”签订协议,获得NAG函数库后,增强了数值计算的Maple 6被推向市场。
目前,其最新版本为Maple 9.Maple 被称为当今世界上最流行的符号计算软件之一,它具有强大的交互式工程数学计算功能;其丰富的函数包能满足用户在各方面的需求;简单灵活的平面和立体作图技术使得它成为当前最普及的数学教学软件;它在统计学、经济结算方面的程序库被广泛应用于很多领域;除此之外,Maple 还具有以下突出特点:●Maple 具有很强的数据可视化能力Maple提供了包括二维和三维数据可视化、图像处理、动画制作、积分近似和微分方程求解多方面的绘图命令,特别是Maple 6以后的版本对图形用户界面进行了调整,添加了新的图形处理功能。
●Maple 提供了一种结构化的内部编程语言这种语言类似于C、FORTRON、BASIC等高级语言,只要用户学习过其中的一种语言,便可以快速轻松地设计编写自己的Maple程序。
●为了节约内存,Maple将其函数或指令放在不同的函数库中。
Maple的函数库分为内部函数、函数库,内部函数包含了最常用的函数,当启动Maple时,内部函数会自动载入。
为了减少内存的负担,Maple把相对不常用的函数放在函数库中,启动Maple时,这些函数库并不载入内存,当需要时再将它们载入。
函数库是把性质相类似的函数收集在同一个函数库中,如student函数库即为学生综合函数库,linalg函数库即为基本线性代数库。