maple课件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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-95
1.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]
常用对数: log10
1.2.2.1重要函数
连乘函数: product/Product 连加函数: sum/Sum
展开函数:expand
合并函数:combine
1.2.2.2简单函数定义
Maple定义简单的函数有2种方法:•函数法:unapply(expr,vars);
expr为任意表达式,vars为变量组•箭头法: (vars)->expr;
expr为任意表达式,vars为变量组
重要函数
floor
ceil
op
nops
map
演示
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是整数,这个表达式值为0
assume(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 ,not
26-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 expression
1.4.
2.3 集合
集合(set)也是把对象(元素)放在一起的数据结构, 与列表不同的是集合中不可以有相同的元素(如果有, Maple也会自动将其当作同一个元素), 另外, 集合中的元素不管次序. 用花括号表示集合.
s:={x,1,1-z,x};
集合的基本运算函数:交(intersect),并(union),差(minus)格式:
函数(集合,集合);
1.4.3 数组和表
array
table
S := table([(2)=45,(4)=61]);
1.4.4 数据类型的转换与合并
convert 这个功能强大的类型转换函数,可以实现列表和数组的类型转换
将array转换为list
将array转换为set
1.5 高级输入与输出操作
Maple提供了良好的接口来编辑与计算数学式. 许多时候, 我们可能需要把Maple的运算结果输出到一个文件中, 或者在一个文本编辑器里先编好一个较大的Maple程序, 再将它加载到Maple的环境里.
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);
演示
save&write
save
格式: save var1,var2,…,vark,filename;
演示
1.5.2 读取文件
read
格式:read(filename);
演示
1.5.3 与其它程序语言的连接
5.3.1 转换成C或FORTRAN语言
调用codegen程序包中的C命令可以把Maple的结果转换成C 语言,格式:
with(codegen,C):#调用函数包
f:=Maple语言;
C(f);
演示
1.5.3.2 生成LATEX
Latex 软件是专用的数学排版软件
第二章微积分运算
微积分是数学学习的重点和难点之一, 而微积分运算是Maple最为拿手的计算之一, 任何解析函数, Maple 都可以求出它的导数来, 任何理论上可以计算的积分, Maple 都可以毫不费力的将它计算出来. 随着作为数学符号计算平台的Maple的不断开发和研究, 越来越多的应用程序也在不断地创设.
1.1 函数和表达式的极限
在Maple 中,利用函数limit 计算函数和表达式的极限.如果要写出数学表达式,则用惰性函数Limit .若a 可为任意实数或无穷大时,求命令格式为:limit(f,x=a);求时的命令格式为limit(f,x=a,right);求时的命令格式为limit(f,x=a,left);演示
1.函数的极限和连续
lim ()x a f x →lim ()x a f x +
→lim ()x a
f x -
→
1.2 函数的连续性
1.2.1连续
在Maple中可以用函数iscont来判断一个函数或者表达式在区间上的连续性.命令格式为:
iscont(expr,x=a..b,'colsed'/'opened');
其中,closed表示闭区间,而opened表示开区间(默认状态).
如果表达式在区间上连续, 返回true, 否则返回false, 当iscont 无法确定连续性时返回FAIL. 另外, iscont函数假定表达式中的所有符号都是实数型. 当给定区间[a,b] (a>b)时, iscont会自动按[b,a]处理.
1.2.2 间断
函数discont可以寻找函数或表达式在实数域的间断点,当间断点周期或成对出现时,Maple会利用一些辅助变量予以表达,比如,_Zn~(任意整数)、_NZn~(任意自然数)和Bn~(一个二进制数,0或者1),其中n是序号.
演示
2 导数和微分
2.1符号表达式求导
利用Maple中的求导函数diff可以计算任何一个表达式的导数或偏导数,其惰性形式Diff可以给出求导表达式,$表示多重导数.求expr关于变量x1,x2,…,xn的(偏)导数的命令格式为:
diff(expr,x1,x2,…,xn);
diff(expr,[x1,x2,…,xn]);
其中, expr为函数或表达式, x1, x2, …, xn为变量名称.
D函数
D算子作用于一个函数上, 得到的结果也是一个函数. 求f的导数的命令格式为: D(f);
f@g 复合函数
D@@2 表示两次求导
(D@@3)(f)
(D@@n)(f)
D[i](f)对f的第i个变量作微分
D[1$n,2$m](f)
演示
2.2 隐函数求导
隐函数或由方程(组)确定的函数的求导,使用命令implicitdiff.假定f,f1,…,fm为代数表达式或者方程组,y, y1,…,yn为变量名称或者独立变量的函数,且m个方程f1,…,fm 隐式地定义了n个函数y1,…,yn,而u,u1,…,ur为独立变量的名称, x,x1,…,xk为导数变量的名称.则:
(1)求由f确定的y对x的导数:
implicitdiff(f,y,x);
(2)求由f确定的y对x1,…,xk的偏导数:
implicitdiff(f,y,x1,…,xk);
2.3 函数的极值
2.3.1函数的极值
极值包含两种情形:极大值和极小值.在Maple中,有两个求函数极值的命令:minimize,maximize,命令格式如下:
minimize(expr,vars=range);
maximize (expr, vars=range);
举例:
> expr1:=x^3-6*x+3:
minimize(expr1,x=-2..2);
注:极值的求法
演示
2.3.2 条件极值
极值点的搜索范围受到条件限制:
例:求函数f=x+y+z+t在限制条件
xyzt=2^4
下的极值。
求解方法:作拉格朗日函数
演示
3 积分运算
3.1不定积分
Maple 有许多内建的积分算法,一般地,用int 求不定积分.命令格式为:
int(expr,x);
如:对函数x^2*arctan(x)/(1+x^2)求不定积分命令:int(x^2*arctan(x)/(1+x^2),x);
结果为:
+ + + - 18()ln + 1x I 212I ⎛⎝ ⎫⎭
⎪⎪- + x 12I ()ln - 1x I ()ln + 1x I 18()ln - 1x I 212I ()ln - 1x I x 12()ln + 1x 2
3.2 定积分
定积分与不定积分的计算几乎一样,只是多了一个表示积分区域的参数.在[a,b]上求f的定积分的命令格式为:
int(f, x=a..b);
Int(f,x=a..b);惰性函数
演示。