搜档网
当前位置:搜档网 › 数学软件Maple使用教程

数学软件Maple使用教程

数学软件Maple使用教程
数学软件Maple使用教程

数学软件Maple使用教程

序言

一.什么是数学实验?

我们都熟悉物理实验和化学实验,就是利用仪器设备,通过实验来了解物理现象、化学物质等的特性。

同样,数学实验也是要通过实验来了解数学问题的特性并解决对应的数学问题。过去,因为实验设备和实验手段的问题,无法解决数学上的实验问题,所以,一直没有听说过数学实验这个词。随着计算机的飞速发展,计算速度越来越快,软件功能也越来越强,许多数学问题都可以由计算机代替完成,也为我们用实验解决数学问题提供了可能。

数学实验就是以计算机为仪器,以软件为载体,通过实验解决实际中的数学问题。

二.常用的数学软件

目前较流行的数学软件主要有四种:

1.MathACD

其优点是许多数学符号键盘化,通过键盘可以直接输入数学符号,在教学方面使用起来非常方便。缺点是目前仅能作数值运算,符号运算功能较弱,输出界面不好。

2.Matlab

优点是大型矩阵运算功能非常强,构造个人适用函数方便很方便,因此,非常适合大型工程技术中使用。缺点是输出界面稍差,符号运算功能也显得弱一些。不过,在这个公司购买了Maple公司的内核以后,符号运算功能已经得到了大大的加强。再一个缺点就是这个软件太大,按现在流行的版本5.2,自身有400多兆,占硬盘空间近1个G,一般稍早些的计算机都安装部下。我们这次没用它主要就是这个原因。

3.Mathematica

其优点是结构严谨,输出界面好,计算功能强,是专业科学技术人员所喜爱的数学软件。缺点是软件本身较大,目前流行的3.0版本有200兆;另一个缺点就是命令太长,每一个命令都要输入英文全名,因此,需要英语水平较高。

4.Maple

优点是输出界面很好,与我们平常书写几乎一致;还有一个最大的优点就是它的符号运算功能特别强,这对于既要作数值运算,又要作符号运算时就显得

非常方便了。除此之外,其软件只有30兆,安装也很方便(直接拷贝就可以用)。所以,我们把它放到学校网上直接调用。缺点就是目前市面上买不到教材,帮助系统又是英语,为学习带来了不便。因为条件的限制,其它几个软件不便于介绍,所以我们把我们对该软件的了解编写成讲义发给同学们作参考。

第一章 Maple软件的安装与启动

一.Maple的安装启动

1.目前市面上出售的Maple软件一般是与其它数学软件在一张光盘上,安装时只要将光盘上Maple目录全部拷贝到硬盘上就可以了。

2.在学校网络主页通过文件下载ftp内的17cai目录,找到maple点击,将其下载到计算机上并解压,即安装完毕。

启动Maple,首先进入Maple目录下的子目录BIN,找到枫叶图标(下面有Wmaple),点击图标就可启动。也可以将该图标拷贝到桌面点击启动。二.Maple工作面

maple工作面提示符用来输入maple命令。提示符[>左边的[号表示所要一起执行的命令区,该区的命令将按先后次序连续一次执行完。若点击工具栏中T 按钮,则提示符箭头消失,变为[号,表示当前为文本输入,工具栏也出现相应的字号字体选择框;常用工具栏中(从左到右)有新建、打开、保存、打印、剪切、复制、粘贴、撤消、Maple输入转换、文体输入转换、增加命令区、撤消分组、建立分组、停止运行及三个显示比例选择x按钮。点击提示符按钮将增加一个命令区;当将几个命令区及文本输入抹黑,点击建立分组,就会将抹黑部分分在一组,并出现一个分组标志,点击标志可以打开、关闭该组;点击并排的三个x

按钮控制显示比例。

三.退出工作面并保存文件

1.点击文件菜单exit或键盘alt+F4或点击窗口右上角×,这时系统要提示:是否存盘?点击‘是’,则自动存盘。如果是第一次使用这个文件,则要出现一个对话框,选择存盘目录并输入文件名称。

2.命令quit done stop 也可退出maple。注意!这三个退出命令不保存文件,不要随便用。

3.作业中存盘,可以用文件菜单的保存,也可以用工具栏的软盘图标保存。最好在操作一段后就保存一次,避免意外情况产生损失。

第二章基本命令

命令的执行:1.每条命令必须用“:”(执行后不显示)或“;”(执行并显示)结束,否则被认为命令没输完。2.命令区中“#”号以后为命令注释(不执行)。3.光标在

命令区的任何位置回车,都会依次执行该命令区所有命令。

> 2+3 #没有结束符,执行后会显示警告:语句没输完

Warning, incomplete statement or missing semicolon

> 2+3; 会输出执行结果

> 2+3: 不会输出执行结果,但结果可用作以后计算使用

寻求帮助:

1.从Help(帮助)菜单按类查找。

2.?后接命令(可以是命令的前几个字母)或help(命令)查找。

> ?plot #查找作图命令的帮助

>?plo #plot的前三个字母

>help(plot);

3.查找命令内容

info(命令);查找函数作用usage(命令);查找调用格式

example(命令);查找命令使用例子related(命令);查找命令相关条目

> example(plot);

4.索引查找?index[索引类];

索引类:library标准函数库packages专用软件包libmisc混合函数库

statements命令expressions表示类datatypes数据类型tables表与数组procedures过程函数misc附件

> ?index[function]

文件操作:Maple作业面文件以 .m, .ms, .wms(windows下)后缀,这种文件只能在Maple下打开。

1.writeto(文件名),这时作业面输入的命令及执行结果都以文本形式保存到指定文件内,直到命令writeto(terminal)为止,恢复屏幕显示。中间的执行结果屏幕不显示。如果要继续写,用appendto(文件名)。注意:1.若是已有文件,writeto 为重写。2. writeto、appendto写的文件不能调入作业面。

2.Save `文件名.m`可保存作业面的变量赋值状态。用read `文件名.m` 读入作业面内存。

注意:文件名要打 ` 号,该号为键盘左上角 ~ 键。

3.保存(打开)作业面文件:

1)用菜单中File(文件)菜单点save(保存),这时出现对话框,在文件名处输入文件名,点确定即可保存文件(这时文件名后自动带后缀ms或mws)。打开则在File 中点open,在对话框找到文件名确定即可。

2)用工具栏中文件夹和软盘图标打开、保存文件。

3)退出作业面时,按系统提示保存文件。选择‘是’保存,选择‘否’不保存,选择‘取消’返回作业面。

4.剪切、复制、撤消:将要剪切、复制部分涂黑,用工具栏中相应图标或用Edit

反三角(加arc)、双曲sh,ch,th,cth、反双曲(加arc)等。

>sin(5);

>exp(1);

数值显示:eval(a)值,evalf(a)浮点值,evalf(a,n) n位有效数浮点值,evalc复数值,evalm矩阵值evalb布尔代数值,allvalues所有值,valus符号运算值

>eval(sin(5));evalf(sin(5)); evalf(exp(1),8);

>evalc(ln(I)),evalc(sin(1+I))); #逗号分隔表示几个数作为数组输出

>Diff(x*sin(x),x$2):”=value(”);

定义计算精度(有效数字):Digits:=n.

>Digits:=100;evalf(Pi);

定义变量范围:

>assume( a>0 );#定义a>0

>assume(z,real);#定义z是实数变量

赋值: y:=表达式或数;将表达式或数赋值给变量Y。

assign(”) 将上一次运算结果作赋值(定义)

alias(a=b) 定义a为b。当一个命令较长、使用频率较高时可用此将命令定义为一个简单符号。

>x:=3;y:=sin(x);z:=sin(u)*exp(v);

序列:1.seq(f(i),I=a..b); 2.a$n; 3.op([数表]); 4.a,b,…;

>2$3;#生成三个2构成的序列

>h:=u,v,w,x,y,z:h[2..4];#生成序列h,并察看第二到第四个元素

>seq(i^2/3,I=1..5);

注:用nops([序列名]);求序列长度。

集合(set):花括号表示集合,内部元素无顺序。可以用并、交、差运算。

>a:={1,3,4,2,7};b:=a union {3,5,6};a intersect {3,5,7};

>b[3..5];

>op(b);#将集合b转换为序列

列表(list):方括号表示列表,内部元素有序。可用op(a)转换为序列或{op(a)}转换集合

映射、代换、转换:map(过程名,表达式);

subs(替换值,表达式);

convert(表达式,形式)

>map(f,x+y*z);map(f{a,b,c});map(diff,x+y*z,y);

>A:=array([[1,x],[x,x^2]]);map(diff,A,x);

>f:=x^2*sin(x)/exp(x):subs(x=Pi/2,f);subs(x=Pi/4,f);

>convert(9,binary);convert($(1..10),’+’);convert($(1..10),set);

可转换类型及使用方法用: ?convert查询

调用软件包:with(软件包名)

软件包:plots图形包plottools图形工具包simplex线性规划(单纯形法)包

linalg线性代数包stats概率统计包student大学生包

numaapprox数值逼近combinat组合数学Detools微分方程工具

geomatry欧氏几何geom3d三维欧氏几何group群论

numtheory数论powseries幂级数projgeom射影几何

使用不同运算系统,应调入相应软件包,此时,该软件包中所有命令将被调入。调用命令用分号结束,会显示该包调入的命令,冒号结束不显示。

恢复初始状态(包括退出软件包):restart

>with(simplex): #调入为单纯形法软件包,会显示:新的最大、最小

>maximize(2*x+3*y,{x<=2,y<=4},NONNEGATIVE);

> restart:minimize(2*x+3*y,{x,y},{x=-1..2,y=-1..4});先恢复初始状态,退出单纯形法,才能求函数在一个区域的普通最大、最小值。

> maximize(x^2,{x},2..7);

>x:=2:x;restart:x;

取整运算:

round四舍五入 trunc向0取整 ceil向-∝取整 floor向∝取整 frac 小数部分

>x:=23.581;y:=23.321;

>round(x),round(y);trunc(x),trunc(y);frac(x);ceil(x),ceil(y);floor(x) , floor(y);

>round(-x),round(-y);trunc(-x),trunc(-y);frac(-x);ceil(-x),ceil(-y);f loor(-x),floor(-y);

最大公约数(式)与最小公倍数(式):

igcd最大公约数 gcd最大公约式ilcm最小公倍数lcm最小公倍式

>gcd(x^2+2*x+1,x^2-2*x-3);

第三章作图:

作图有两个软件包。(1)图形软件包,用with(plots)调入。(2)图形工具包

with(plottools)

图形包)中有下列作图命令:

animate, animate3d动画changecoords改变坐标系 complexplot, complexplot3d复函数图 conformal contourplot contourplot3d coordplot coordplot3d cylinderplot柱坐

标函数图densityplot密度图display display3d图函数显示fieldplot fieldplot3d区域图gradplot gradplot3d梯度图implicitplot implicitplot3d隐函数图 inequal

listcontplot listcontplot3d listdensityplot listplot listplot3d loglogplot logplot matrixplot odeplot微分方程数值解图 pareto pointplot pointplot3d点图polarplot极坐标图polygonplot polygonplot3d多边形图 polyhedraplot replot rootlocus semilogplot setoptions setoptions3d作图选项设置 spacecurve空间曲线

图 sparsematrixplot sphereplot球坐标图 surfdata textplot textplot3d tubeplot

工具包中有下列图形工具:

arc弧 arrow 箭头circle圆 cone 圆锥cuboid长方体 curve曲线cutin cutout cylinder 柱disk 圆盘dodecahedron十二面 ellipse椭圆ellipticArc椭圆弧 hemisphere半

球 hexahedron 六面体hyperbola双曲线 icosahedron二十面体line线段octahedron 八面体 pieslice point点 polygon多边形rectangle矩形semitorus sphere球tetrahedron四面体 torus轮

第一节二维曲线图:

一.基本命令(不需调图形包)

plot({f1(x),f2(x),…},x=a..b,选项);一元函数曲线

plot(f,a..b,选项); 作过程函数图

x=a..b(中间两点)表示变量x在[a,b]区间。

后面可有如下选项:

(1)scaling坐标尺度控制,两个值CONSTRAINED和UNCONSTRAINED(等长和不等长);

(2)axes(坐标架)有四个选项frame(边上),boxed(箱),normal(正常),none(没有)

(3)coords(选坐标系)常用有polar极坐标,cylindrical柱坐标,spherical 球坐标;

(4)numpoints(节点数);

(5)resolution(水平密度);

(6)color(颜色)有:黑black 白white 红red 黄yellow 兰blue 绿green 金gold 褐brown灰gray, grey 茶maroon 橙orange 碧绿aquamarine 海兰navy 桃红coral 兰绿cyan 土黄khaki 紫红magenta 粉红pink 深紫

plum 黄褐tan 天兰turquoise 兰紫violet 麦黄wheat 红绿兰RGB 色彩HUE;

(7)x(y)tickmarks(坐标刻度数)

(8)style(风格):point点,line线,patch缺补

(9)discont(连续性控制)

(10)title(标题)

(11)thickness(线粗):0,1,2,3几个值

(12)linestyle(线型):后跟数字

(13)symbol(点形状):box框,cross叉,circle圈,point点,diamond菱型

(14)font(字体):[family,style,size]

(15)titlefont(标题字体)

(16)axexfont(坐标轴记号字体)

(17)labelfont(坐标轴标号字体)

(18)view(显示部分)

>plot(x^2,x=-3..3,linestyle=20);

>plot(y-5*x,x=-5..5,linestyle=30);#函数中有Y

>plot(2*x^3-6*x,x=-2.5..2.5,style=point,symbol=box);

>plot([4*x-x^2+2,x^2,3*x+1],x=-2..5,color=[red,blue,green],linestyle= [20,20])

>f:=10*sin(x)*exp(-x^2):#先定义函数

>plot(f,x=-2..5,color=green,linestyle=20);作上函数图

>f:=x->sin(x)*exp(x):

>plot(f(x),-2..5);#用箭头(或过程)定义的函数,函数要用f(x),区间的自变量可省略

>plot([4*x-x^2+2,x^2,3*x+1],x=-2..5,color=[red,blue,green],style=poin t,symbol= [circle,cross]);

根据曲线图,再找交点

> plot([4*x-x^2+2,x^2],x=-2..5,color=[red,blue,green]

>solve(4*x-x^2+2=x^2,x);

二.参数方程曲线:

plot([x(t),y(t),t=t1..t2],x=a..b,y=c..d,选项);

>plot({[sin(t),cos(t),t=0..2*Pi],2*x-1},x=-2..2,y=-2..2);

三.动画曲线:

动画曲线不是基本作图命令,必需先调入图形包,才能运行。

Aninate(f(x,t),x=a..b,t=t1..t2,选项); 其中t为参数

当点击动画图后,会显示动画按钮,由按钮控制动画。

>

with(plots):animate(sin(t*x),x=-2*Pi..2*Pi,t=.5..4,color=1,linestyle= 30);

> animate(exp(-x)-t,x=-2..2,t=-2..2,linestyle=30);

> animate({2*x^2,2*x+t},x=-2..2,t=-2..1);

> animate( {x-x^3/u,sin(u*x),u*cos(4*x)}, x=0..Pi/2,u=1..6 ,color= red);

四.极坐标

> plot([sin(4*x),x,x=0..2*Pi],coords=polar,thickness=3);

> plot([cos(t),t,t=0..2*Pi],coords=polar);

>plot([1,t,t=0..2*Pi],coords=polar,color=green);

>

with(plots):animate([sin(x*t),x,x=-4..4],t=1..4,coords=polar,numpoints=100,frames=1 00);

> with(plots):s := t->100/(100+(t-Pi/2)^8): r := t -> s(t)*(2-sin(7*t)-cos(30*t)/2):

> animate([u*r(t)/2,t,t=-Pi/2..3/2*Pi],u=1..2,coords=polar,axes=frame,color=green);注:如果函数由f:=proc(x)定义或由f:=x->定义,作图由plot(f)或plot(f,a..b)或plot(f(x),x=a..b)

五.多边形及填色:polygon([顶点坐标],颜色)要调用图形工具包

曲边梯形面积:y=sin(x),y=0,x=π/2所围图形面积。

>x:=seq([i*Pi/100,sin(i*Pi/100)],i=0..50):#将图形分成小曲边梯形,并计算顶点坐标

>with(plots):with(plottools):p:=polygon([x,[Pi/2,0]],color=red):#作多边形填红色

>display(p);

六.隐函数图:implicitplot(方程,范围,选项);

注:二元方程为平面曲线,没有等号默认为等于0

>with(plots):implicitplot(x^2/4+y^2=1,x=-2..2,y=-2..2);

>implicitplot(x^2/4+y^2=1,x=-2..2,y=-2..2,scaling=CONSTRAINED);

> implicitplot(

第二节三维图形:

一.曲面图: plot3d(二元函数,x范围,y范围,选项);后面为选项如前> plot3d(x^2+y^2,x=-2..2,y=-2..2,color=0.1);

> plot3d((1.3)^x * sin(y),x=-1..2*Pi,y=0..Pi,coords=spherical,style=patch);

> plot3d([1,x,y],x=0..2*Pi,y=0..2*Pi,coords=toroidal(10),scaling=constrained);

> plot3d(sin(x*y),x=-Pi..Pi,y=-Pi..Pi,style=contour);

二.动画图animate3d(函数,自变量范围,参数范围,…);

用with(plots)先调入图形包。

> with(plots):

> animate3d(t*((x)^2+y^2),x=-3..3,y=-3..3,t=-1..1);

>animate(sin(t*x),x=-Pi..Pi,t=0..4);

三.三维曲线图:plot3d([x(t),y(t),z(t)],t=t1..t2],z=z1..z2,选项);

>plot3d([cos(t),sin(t),t],t=0..3*Pi,z=a..b);

四.参数方程曲面图:plot3d([f(x,y),g(x,y),h(x,y)],x=a..b,y=c..d,选项);

>plot3d([r*cos(t),r*sin(t),r],r=0..3,t=0..2*Pi);#圆锥

五.隐函数图: implicitplot3d(三元方程,x=a..b,y=c..d,z=z1..z2,选项);

>with(plots):implicitplot3d(x^2/4+y^2=z,x=-2..2,y=-2..2,z=0..3);#椭圆抛物面

第三节数据图

一.散点图:plot([[x1,y1], [x2,y2],……[xn,yn]],style=point)

>plot([[1,4],[3,7],[3,13],[4,5]],color=green,style=point):

二.数据连线图:plot([[x1,y1], [x2,y2],……[xn,yn]]);

或定义图函数:curves([[x1,y1], [x2,y2],……[xn,yn]]);用display显示

>plot([[1,4],[3,7],[3,13],[4,5]],color=green):

>with(plottools):l:=curve([[1,4],[3,7],[3,13],[4,5]],color=blue):with(plots):displ ay(l);

三.多边形:plot([[x1,y1], [x2,y2],……[xn,yn],[x1.y1]]);

或定义图函数:ploygons([[x1,y1], [x2,y2],……[xn,yn]]);用display 显示

>plot([[1,4],[3,7],[3,13],[1,4]],color=green):

> p:=polygon([[1,4],[3,7],[3,13]],color=green):

> with(plottools):display(p);

四.大写plot命令作数据图

图函数:点points,线curves,多边形polygons,文字text等,也必须大写>PLOT(POLYGONS([[1,4],[3,7],[3,13]]),COLOUR(HUE,0.2));

>PLOT(CURVES([[0,0],[1,1],[2,1]]),COLOUR(HUE,0.5));

> PLOT(POINTS([1,1],[2,3],[3,2]),COLOUR(HUE,1.5));

> PLOT(TEXT([2,2],‘x‘),COLOUR(HUE,0.7));

>PLOT(POINTS([0,0],SYMBOL(DIAMOND)),TEXT([0,0],‘`Origin`‘,ALIGNBEL OW,ALIGNRIGHT,FONT(HELVETICA,OBLIQUE,10)),CURVES([[-3,0.5],[3,0.5]] ,THICKNESS(3), LINEST

YLE(4)),TEXT([0,0.5],‘`Dotted`‘,ALIGNBELOW),TEXT([3.1415,0],‘p‘,FONT(SY MBOL,12)),TEXT([-3.1415,0],‘P‘,FONT(SYMBOL,12)),POLYGONS([[-2,-0.25],[-2,-0.5],[2,-0.5],[2,-0.25]],C

OLOUR(HUE,0.5)),TEXT([0,-0.37],‘`Red`‘,COLOUR(RGB,1,0,0)),AXESSTYLE(F RAME), VIE W(-4..4,-1..1) );

第四章微积分

第一节函数:

一.基本初等函数:绝对值abs、开方sqrt、以e为底指数exp、log、ln、log10、sin、cos、tan、cot、sec、csc、反三角arc、双曲sh,ch,th,cth、反双曲

arc等。

>sin(5);exp(1);

二.定义函数:

(1)赋值法 f:=数或表达式; (后赋值将替换以前的赋值, 加单引号表示符号

变量)

(2)箭头算子法f:=x->表达式、f::=(x,y)->表达式;

(3)过程 f:=proc(x)if 条件then式1 elif条件 then式2 ……else式

n fi end定义分段函数,这里x是过程带的参数。(这样定义的分段函数不能求极限、导数积分,但可以作为maple中命令)

(4)转换法unapply(表达式,自变量) ,将表达式转换为箭头算子函数

(5) 定义分段函数f:=piecewise(条件1,表达试1,条件2,表达试2,……)

或 f:=x->piecewise(条件1,表达试1,条件2,表达试2,……)这样定义的分段函数可以求极限、导数、积分等运算。其中piesewise为分段函数命令。

(1)形式定义的函数需定义自变量值,才能计算函数值,或用subs(x=a,f)计算x=a

点函数值;(2)(3)(4)形式定义函数可以用f(a)或f(a,b)计算x=a点函数值。

函数可以用assume(0y:=x^2-5*x+3;y(3);subs(x=3,y);diff(y,x);subs(x=8,”);

>y:=x->x^2-5*x+3;y(3);

>f:=unapply(sqrt(x^2+y^2),x,y);f(3,4);

>p:=proc(x) if x>1 then x^2-1 else 2*(1-x) fi end:p(2);

三.函数运算(加、减、乘、除、复合、展开、合并、化简)

> f:=x->ln(x)+1:g:=y->y^2:

>

h:=g@f@g:h(exp(2));h:=f@@4:h(z);h:=f+g:h(z);h:=f-g:h(z);h:=f*g-f/g:h( z);#其中@号为复合运算号,@@则为连续复合

>expand(sin(x+y));#展开

>combine(”);#合并

>simplify(表达式);#化简

注:函数复合运算必须是箭头算子、过程、转换法定义的函数

第二节极限:

limit(f(x), 极限点,选项) Limit为极限号(可用value看值)

选项有:左left、右right,省略则为普通极限

注:不能对过程函数直接计算。

一.x=a点极限limit(f(x),x=a)

>Limit((x-sin(x))/x^3,x=0)=limit((x-sin(x))/x^3,x=0);

>Limit(exp(1/x),x=0)=limit(exp(1/x),x=0);

>Limit(exp(1/x),x=0,left)=limit(exp(1/x),x=0,left);

>Limit(exp(1/x),x=0,right)=limit(exp(1/x),x=0,right);

>Limit(exp(x)-x)^(1/x):”=value(”);

二.x趋向无穷极限 limit(f(x),x=infinity)

> Limit((x^2-3*x+2)/(5*x^2-4),x=infinity)=limit((x^2-3*x+2)/(5*x^2-4),x=infinity); > Limit(x^sin(x),x=0)=limit(x^sin(x),x=0);

> Limit((x^2-3*x+2)/(5*x-4),x=infinity)=limit((x^2-3*x+2)/(5*x-4),x=infinity);

> Limit(sin(x),x=infinity)=limit(sin(x),x=infinity);

x趋向正负无穷大极限,在infinity前直接加+、-号即可

> Limit(exp(x),x=-infinity)=limit(exp(x),x=-infinity);

注:函数若由箭头算子、过程、转换法定义,求极限函数要用f(x)形式

>y:=x->exp(x):limit(y,x=3);limit(y(x),x=3);

第三节.导数

一. diff(f,x1,x2,…) x1,x2,…为各次求混合导数的自变量

diff(f,x$m,y$n) m,n分别为对自变量x、y求导阶数

Diff 为求导符号,可用value显示值

注:不能对过程函数直接使用

> Diff(exp(x^2),x)=diff(exp(x^2),x);

> Diff((exp(x^2)+x^3)/sin(x),x)=diff((exp(x^2)+x^3)/sin(x),x);

> Diff(log(x+sqrt(1+x^2)),x):”=avlue(”);

> simplify(");

>Diff(log(x+sqrt(1+x^2)),x$2):”=simplify(avlue(”));

>Diff(x^2*cos(y),x,y$3)=diff(x^2*cos(y),x,y$3);

>diff(exp(sqrt(x^2+y^2)+x),x,y);subs(x=3,y=4,”);evalf(”)#计算函数在(3,4)点混合导数值

注:函数若由箭头算子、过程、转换法定义,求导函数要用f(x)形式

>y:=x->sin(1/x):diff(y,x);diff(y(x),x)

二.隐函数导数: diff(方程,自变量及阶数);

1.将方程中函数变量全部写成自变量函数形式(如y(x)),再求导。

>f:=x^2+x*exp(y(x))=x*y(x);diff(f,x);dy/dx=solve(",diff(y(x),x));

>diff(x*exp(x*y(x))=x+y(x),x,x);

2.用别名命令alias将函数变量先定义为自变量的函数如alias(y=y(x))再对方程求导

> alias(y=y(x)):f:=x^y+sin(x*y)=x:diff(f,x);dy/dx=solve(",diff(y,x));

三.导数算子:D(函数),D[i$m,j$n,…](函数) i,j整数表示,对第i、第j个变量求导

> f:=x^2+3*x+5:g:=x->x^2+3*x+5:D(f);D(g);D[1,1](g);

> h:=(x,y)->sqrt(x^2+y):D[1](h);D[2](h);D[1,2](h);D[1,1](h);D[1$2,2](h);

注:只有箭头算子、过程、转换法定义函数,才能使用求导算子。

第四节积分

一.一元积分int(f,x) 不定积分int(f,x=a..b) 定积分

Int为积分符号,用value显示值

注:不能对过程函数使用。

> Int(2*x*sin(x),x)=int(2*x*sin(x),x)+c;

> Int(sqrt(a^2+x^2),x)=int(sqrt(a^2+x^2),x)+C;

>Int((x-2)/(x^3-1),x)=int((x-2)/(x^3-1),x)+C;

>Int(x*ln(x),x):”=value(”);

注:箭头算子、过程、转换法定义函数要用int(f(x),x)

>f:=x->x^2-1/x:int(f(x),x);

二.重积分 int(int(f(x,y),y=y1(x)..y2(x)),x=a..b)

>Int(Int(abs(y)*x^2,y=-sqrt(1-x^2)..sqrt(1-x^2)),x=-1..1):”=value(”);

第五节方程求解:

solve(方程,未知数);fsolve(方程,未知数,选项);解数值解

选项:https://www.sodocs.net/doc/3b9976647.html,plex复数域上求根2.fulldigits保持精度3.maxsols=n求n个解4.范围

一.一元方程(省略“=”号为=0)

> p:=x->x^2+2*x-3:plot(p(x),x=-4..2); solve(p(x));fsolve(p(x)=12,x);

>t:=solve(6*x^4-35*x^3+22*x^2+17*x-10):t1:=eval(t[1]);t2:=eval(t[2]);t3:=eval(t[3] ); t4:=eval (t [4]);

>p:=x->12*x^5+32*x^4-57*x^3-213*x^2-104*x+60:plot(p,-5..5,650..300);

>solve(p)

> solve(ln(x)+ln(x+1)=ln(2));

二.方程组

> solve({2*x+3*y,y= x+1});

> solve({2*x+3*y,x^2=y^2-1});

> allvalues(");

三.数值解

>solve(x^5-3*x^4-23*x^3+27*x^2+166*x+120=0,x); #等于0时,=0可省略

>fsolve(x^5-3*x^4-23*x^3+27*x^2+166*x+120,x,-1.5..3.5);

>solve(x^4-3*x+4,x);allvalues(”);

>fsolve (x^4-3*x+4,x,complex);

>fsolve(x^5-3*x^4-23*x^3+27*x^2+166*x+120=0,x,maxsols=2);

四.多项式分解因式、函数展开、合并、化简、转换:

factor(多项式,k) expand(函数) combine(函数) simplify(表达式)

convert(表达式,形式,选项) 取分子numer(分式) 取分母denom(分式)

>p:=x->12*x^5+32*x^4-57*x^3-213*x^2-104*x+60: factor(p(x));

>expand(sin(x+y));combine(”);

>f := (x^3+x)/(x^2-1);

> convert(f, parfrac, x);#转换为简单分式

>numer(f);denom(f);

>convert( 1.23456, fraction );#小数转分数

>convert(9, binary);#十进制转二进制

第六节极值与最值

一.最值:maximize(f,x) maximize(f,x,a..b) minimize(f,x) minimize(f,x,a..b)

上述命令求函数f的最(极)大、最小值或区间[a,b]上最大、最小值。如果求最大、最小值点可结合图形,用fsolve(f=最大(最小)值,x)解的。

>f:=x^3-x^2-x+1:

> plot(f,x=-2..2.7,color=plum);

> maximize(f,x);x1:= minimize(f,x);x2:=maximize(f,x,-1..2);

>fsolve(x^3-x^2-x+1=x1);fsolve(x^3-x^2-x+1=x2);#求最值点

>factor(x^3-x^2-x+1);

求闭区间上最大、最小值:

> maximize(x^3-x^2-x+1,x,-1..2);minimize(x^3-x^2-x+1,x,-1.5..2);

二.条件极值:extrema(函数,{条件方程},自变量,‘极值点变量’)

没有条件方程时,条件方程内为空,但花括号不能省。若不需要极值点,最后一项可省略。该命令非基本命令,要从函数库用命令readlib(extrema)调入。

> readlib(extrema):

> extrema( a*x^2+b*x+c,{},x,‘s‘);allvalues(s);

> f := (x^2+y^2)-z^2; g1 := x^2+y^2-16=0; g2 := x+y+z=10; extrema(f, {g1,g2}, {x,y,z},‘s‘); allvalues(s);

第七节微分方程与差分方程

一.微分方程解析解与数字解

dsolve(方程,解函数,选项) dsolve({方程组及初始条件},{解函数},选项)

方程中未知函数要用y(x)记,n阶导可用D@@n(y)(x),初始条件y(x0)=a,(D@@n)(y)(x0)=b

选项:type=series级数解type=numeric数值解explicit=true显式解

method=laplace拉普拉斯变换求解。在数值解中又可有方法选项:method=rkf45四五指令Runge-Kutta法method=dverk78七八指令Runge-Kutta

法method=classical古典法method=gear齿轮法method=mgear

和method=lsode.

>dsolve(diff(y(x),x,x)+y=x*exp(x),y(x));

>dsolve({diff(y(x),x)=0.003*y*(100-y),y(0)=15},y(x));

>assign(”):plo t(y(x),x);#将求出的解定义为函数,并作图

> dsolve({diff(z(x),x)-z(x)+x=0,z(0)=2},z(x));

> dsolve({diff(v(t),t)+2*t=0,v(1)=5},v(t));

> dsolve(diff(y(x),x$2) - y(x) = sin(x)*x, y(x));

> ?dsolve

> p:= dsolve({D(y)(x) = y(x), y(0)=1}, y(x),type=numeric):#解数值解

> with(plots):

> odeplot(p,[x,y(x)],-1..1 ): #作微分方程数字解图

> p := dsolve({ diff(y(x),x) = sin(x*y(x)),y(0)=2},y(x),type=numeric):

> odeplot(p,[x,y(x)],0..6,labels=[x,y]);#作微分方程数字解图

> sys := diff(y(x),x)=z(x),diff(z(x),x)=y(x): fcns := {y(x), z(x)}:#微分方程组

> p:= dsolve({sys,y(0)=0,z(0)=1},fcns,type=numeric):

> odeplot(p, [x,y(x)], -4..4, numpoints=25):

>odeplot(p, [x,y(x),z(x)],-4..4,numpoints=25, color=orange):

>p:= dsolve({diff(y(x),x$3)=y(x), y(0)=1,D(y)(0)=2,(D@@2)(y)(0)=4}, y(x));二.差分方程:

rsolve(方程,解函数,选项) ,rsolve({方程组,初始条件},{解函数},选项)选项为‘genfunc‘(x)解以x为自变量;选项为‘makeproc‘解为过程函数。

> rsolve({f(n)=2*f(n-1)+3*f(n-2),f(1)=3,f(0)=5},f(n));

> rsolve({c(n)=c(n-1)-5*c(n-2),c(0)=1,c(1)=0},c(n));

rsolve({F(n) = F(n-1) + F(n-2), F(1..2)=1}, F, ‘genfunc‘(x));

> rsolve({s(n) = s(n-1) + t(n-1), t(n) = s(n) + t(n-1), s(0)=0, t(0)=1},{s, t},

‘genfunc‘(z));

>rsolve({s(n) = 2*s(n-1), s(0)=1}, s, ‘makeproc‘);

第八节级数

一.级数求和sum(f(n),n) sum(f(n),n=a..b) Sum为求和号

>Sum(x^n/n!,n=0..infinity)=sum(x^n/n!,n=0..infinity);

>Sum(1/k^2,k=1..infinity):”=value(”);

二.函数展开 tayloe(函数,点,项数) series(函数,点,项数)

其中项数省略为6项,点也可以直接用自变量代替,这时表示在x=0点展开。> 1/(1-x)=series(1/(1-x),x);exp(x)=taylor(exp(x),x);

> sin(x)=series(sin(x),x=Pi/2,8);

> x^3/(x^4+4*x-5)=series(x^3/(x^4+4*x-5),x=infinity);

三.构造幂级数with(powseries)调入幂级数软件包。

powcreate(f(n)=通项系数,初始值)定义系数tpsform(f,x,项数) 显示

幂级数

> with(powseries):

>powcreate(f(n)=2^n/n!):powcreate(h(n)=(-1)^(n+1)/n,h(0)=1):

>Sum(2^n*x^n/n!,n=0..infinity)=tpsform(f,x,7);

>powcreate(h(n)=(-1)^(n+1)/n,h(0)=1):

>Sum((-1)^(n+1)*x^n/n,n=1..infinity)=tpsform(h,x,5);

>powcreate(v(n)=(v(n-1)+v(n-2))/4,v(0)=4,v(1)=2):

>tpsform(v, x);

>powseries[powsin](x):sin(x)=powseries[tpsform](",x,10);#也可以这样直接调用

>a := powseries[powexp](x):

>b := powseries[tpsform](a, x, 5);

第五章线性代数

with(linalg)调入线性代数系统

矩阵输入:matrix(m,n,[a11,a12,…a1n,a21,…a2n,…,am1,…,amn])或

array(1..m,1..n,

[[a11,…,a1n],…,[am1,…,amn]]) extend(A,m,n) 矩阵A增加m行n列

向量:vector([a11,a12,…,a1n])或array(1..n,[a11,…,a1n])

几个特殊矩阵:对角阵:band(V,n) ,对角块:copyinto(A,B,m,n)拷贝A到B

的m行n列,方块diag(A,B…),雅可比jacobian(函数向量,自变量), 范德蒙:Vandermonde(向量)

> with(linalg):

>A:=matrix(6,6,[3,4,-1,1,-9,10,6,5,0,7,4,-16,1,-4,7,-1,6,-8,2,-4,5,-6,12,-8,-3,6,-7,8,-1, 1,8,-,9,1,3,0]):

>B:=matrix(6,6,[1,2,4,6,-3,2,7,9,16,-5,8,-7,8,11,20,1,5,5,10,15,28,13,-1,9,12,19,36,25 ,-7,23,2,4,6,-3,0,5]):

> b:=array(1..6,[1,3,5,7,9,11]):

> diag(A,B);extend(B,6,6,0);copyinto(A,",7,7);

> band([1],5);copyinto(b,",1,3);

运算:加,减,数乘 A+B,A-B,a*A,a*A+c*B等,用evalm()显示. 矩阵乘积multiply(A,B)

增广矩阵augment(A,B,…)或concat(A,B,…) 纵向增广矩阵stack(A,B,…) 转置transpose(A) 行列式det(A) 伴随adj(A) 逆inverse(A)或

A^(-1) 求秩rank(A)

化阶梯:gausselim(A,‘r‘,‘d‘) r为A的秩,d为A行列式,用backsub(")求解gaussjord(A,‘r‘,‘d‘)?

> evalm(A)+evalm(B)=evalm(A+B);C:=concat(A,b);stack(A,B);

> gausselim(C,‘r‘,‘d‘);r;rank(A);d;det(A);

> gaussjord(C,‘r‘,‘d‘);

> inverse(A);multiply(A,");adj(A);multiply(A,");

解线性方程组 Ax=b:

写线性方程组geneqns(A,x,b),解方程linsolve(A,b,‘r‘,x)其中b为向量> geneqns(A,x,b);linsolve(A,b,x);

特征值,特征向量

eigenvals(A) eigenvects(A) 加radical显根号形式,implicit显复数形式

注:求数值解时,矩阵应数值化evalf(A)。一般四阶以上没有解析解。

特征矩阵charmat(A,t);特征多项式charpoly(A,x),相似变换frobenius(A,‘p ‘)

标准型jordan判断相似issimilar(A,B,‘p‘) p为变换矩阵,

正定矩阵分解cholesky(A) 判断正交orthog(A)

> eigenvals(matrix(2,2,[1,2,2,4]));

> eigenvects(matrix(2,2,[1,2,2,4]));

> frobenius(matrix(2,2,[1,2,2,4]),‘p‘);

> multiply(inverse(p),",p);

> jordan(matrix(2,2,[1,2,2,4]),‘p‘);orthog(p);

初等变换:交换行(列)swaprow(A,i,j) swapcol(A,i,j) i行(列)乘

m mulrow(A,i,m) mulcol(A,i,m) i行(列)乘m加到j行

(列)addrow(A,i,j,m) addcol(A,i,j,m)

> addrow(A,2,5,-2);mulcol(A,3,3);

其他矩阵操作:取子阵submatrix(A,m1..m2,n1..n2) 取行列

row(A,i..j) col(A,i..j)

删除行列delrow(A.i..j) delcol(A,i..j) 向量组的基basis(向量组)

行(列)向量基rowspace(A,‘d‘)colspace(A,‘d‘)d个数;正交化GramSchmidt(向量组)

标准化normalize(向量);数量积dotprod(U,V);向量积crossprod(U,V) > submatrix(A,[2,4,6],[1,4,5]);row(A,2);col(A,4);

> rowspace(A,‘d‘);d;

> multiply(A,b);

>u := vector( [1,x,y] );v := vector( [1,0,0] );

>dotprod(u, v);

>A := matrix(3,2, [2,0,3,4,0,5]);

> rowspace(A);

> colspace(A);

第六章概率统计

with(stats) 调入统计软件包

统计包中又有7个子包:

(1)describe描述性数据分析(2)fit拟合回归分析

(3)transform数据形式变换 (4) random按分布产生随机数

(5)statevalf分布的数值计算 (6) statplots统计绘图

(7)anova方差分析

第一节描述性数据分析discribe

格式describe[函数](数据)

有22个描述性统计量函数:

平均值mean方差variance标准差standarddeviation协方差covariance 相对标准差(标准差/平均值)coefficientofvariation计数(非缺失) count 计缺失数countmissing 中位数median范围range数据求和sumdata众数mode

歪斜度skewness(三阶中心矩/σ^3) 曲率度kurtosis(四阶中心矩/σ^4) 几何平均值geometricmean r次均方moment线性相关数linearcorrelation 平均绝对偏差meandeviation和谐平均值harmonicmea(n/Σ1/xi)

二次平均值quadraticmean查找百分位数percentile 查找分数位数据quantile

查找四分位数quartile查找十分位数decile

> with(stats):

> a1:=[3,4,5];a2:=[31,32,33];

>describe[mean](a1),describe[mean](a2);

>describe[standarddeviation](a1);describe[standarddeviation](a2);#标准差相同

>describe[coefficientofvariation](data1): evalf("); #相对标准差大

>describe[coefficientofvariation](data2): evalf("); #相对标准差小

>describe[sumdata](a2);

>describe[mode]([1,2,5,3,7,3,2,3,6,3,4]);#众数为3

>

第二节拟合回归分析

有函数fit[leastsquare]最小二乘法fit[leastmediansquare]最小中间二乘法

格式fit[leastsquare[[变量],回归方程,{系数}]]([[第一个变量数据],[第二

个],……])

回归方程及系数省略,为线性回归;变量数据写成点的坐标,输出结果将是错误的。

with(stats):

> fit[leastsquare[[x,y,z]]]([[1,2,3,5],[2,4,6,8],[3,5,7,10]]);

> fit[leastsquare[[x,y], y=a*x^2+b*x+c, {a,b,c}]]([[1,2,3,4,5],[2,3,4,5,7]]);

> with(stats):

> fit[leastsquare[[x,y,z,s]]]([[1,2,3,5,6],[1,2,4,6,8],[3,5,7,8,10],[9,5,3,2,0]]);

>with(stats):fit[leastsquare[[x,y],y=a+b*x+c*x^2+d*x^3,{a,b,c,d}]]([[1,2,3,4,5,6,7,8, 9,10],[4,7,13,20,30,38,42,45,47,49]]);

>PLOT(POINTS([1,4],[2,7],[3,13],[4,20],[5,30],[6,38],[7,42],[8,45],[9,47],[10,49]),S YMBOL(DIAMOND),COLOUR(RGB,1,0,1));plot(-46.93806744+45.05867515*x^( 1/3),x=1..10, linestyle=20, color=green);

第三节数据形式变换transform

格式

可用函数apply classmark cumulativefrequency deletemissing

divideby frequency moving multiapply scaleweight split standardscore statsort statvalue subtractfrom tally tallyinto

第四节按分布产生随机数random

格式 1. random[分布[参数]](n)

2. f:=random[分布[参数]](‘generator[m]‘);定义该分布的随机数发生器,用‘f()‘$n产生所需随机数,n为产生随机数个数。

可用概率分布有:

(离散型) 二项分布binomiald[n,p]均匀分布

discreteuniform[a,b]

经验分布empirical[list_prob] 超几何

hypergeometric[N1,N2,n]

反二项分布negativebinomial[n,p] 泊松分布poisson[mu]

(连续型) 均匀uniform[a,b] 指数exponential[alpha,a] 正态normald[mu,sigma]

卡方chisquare[n] t-分布studentst[n] F-分布fratio[n1,n2]

伽马gamma[a,b] 拉普拉斯laplaced[a,b] 罗吉斯特logistic[a,b]

对数正态lognormal[mu,sigma] 贝塔beta[nu1,nu2] 柯西cauchy[a,b]

威布尔分布weibull[a,b]

> with(stats):p:=random[poisson[15]](‘generator[2]‘):#建立参数为15的泊松分布随机数发生器p

> ‘p()‘$10;#用上面的随机数发生器产生10个随机数

> random[normald[30,2]](10);#生成10个正态分布随机数

第五节分布的数值计算statevalf

有函数:cdf分布函数, icdf分布函数反函数, pdf概率密度函数, dcdf离散型分布函数idcdf离散型分布函数反函数,pf离散型概率函数格式:statevalf[函数,分布[参数]](点或概率值)

> with(stats):

> statevalf[cdf,normald](4);#标准正态分布在4点函数值

> statevalf[icdf,chisquare[14]](0.9);#卡方分布0.1临界值

> statevalf[icdf,normald[1,2]](.9);#N(1,2)变量概率为0.9的点

> alias(t=statevalf[icdf,studentst[12]]):t(0.95);#t-分布用别名alias 中t代替对应命令,求0.05临界值

> statevalf[icdf,fratio[2,10]](0.95);#F-分布0.05临界值

第六节统计绘图statplots

函数有:boxplot,histogram,notchedbox, quantile, quantil2, scatter1d, scatter2d, symmetry, xscale,xshift,xyexchange

> with(stats):

> Xdata := [4.535, 4.029, 5.407, 1.605, 5.757, 3.527, 7.890, 8.159, 6.092,

> 13.442, 2.845, 5.172, 3.277, 8.810, 3.657, 7.226, 3.851, 2.162,

> 2.668, 4.692]:

> Ydata:= [7.454, 4.476, 2.873, 5.476, 9.975,-1.476, 1.033, 1.140, 4.813,

> .450, -.788, 9.389, 4.811,-3.107, 4.407, 5.534, 1.691, -.789,

> 1.684, 1.605]:

> plots[display](statplots[scatter2d](Xdata,Ydata), view =[0..17,-4..14],

axes=FRAME);#散点图

> plots[display](statplots[boxplot[15]](Ydata),view =[0..17,-4..14], axes=FRAME);#框式图在右

> plots[display](statplots[xyexchange](statplots[notchedbox[12]](Xdata)),view

=[0..17,-4..14], axes=FRAME);#刻痕框图在上

> plots[display](statplots[notchedbox](Xdata));

> plots[display](statplots[histogram](Xdata));#直方图

第七节方差分析anova

仅有一个函数oneway,故直接用with(stats[anova])调入软件包

> with(stats[anova]):with(stats[describe]):

> a1:=[10,11,8]:a2:=[Weight(9,3),11]:a3:=[missing,10,11,7,12]:data:=[a1,a2,a3];

Maple基础

1 初识计算机代数系统Maple 1.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 Math Notation). Maple语言是一种结构良好、方便实用的内建高级语言, 它的语法和Pascal或C有一定程度的相似, 但有很大差别. 它支持多种数据操作命令, 如函数、序列、集合、列表、数组、表, 还包含许多数据操作命令, 如类型检验、选择、组合等. 标准数学记法就是我们常用的数学语言. 启动Maple, 会出现新建文档中的“[>”提示符, 这是Maple中可执行块的标志, 在“>”后即可输入命令, 结束用“;”(显示输出结果)或者“:”(不显示输出结果). 但是, 值得注意的是, 并不是说Maple的每一行只能执行一句命令, 而是在一个完整的可执行块中健入回车之后, Maple会执行当前执行块中所有命令(可以是若干条命令或者是一段程序). 如果要输入的命令很长, 不能在一行输完, 可以换行输入, 此时换行命令用“shift+Enter”组合键, 而在最后一行加入结束标志“;”或“:”, 也可在非末行尾加符号“\”完成. Maple 7有4种输出方式: Maple语言、格式化文本(Character Notation)、固定格式记法(Typeset Notation)、标准数学记法(Standard Math Notation). 通常采用标准数学记法. Maple会认识一些输入的变量名称, 如希腊字母等. 为了使用方便, 现将希腊字母表罗列如下,输入时只需录入相应的英文,要输入大写希腊字母, 只需把英文首字母大写: 的函数或程序设计方式控制其输出方式,如下例:> for i to 10 do printf("i=%+2d and i^(1/2)=%+6.3f", i, eval(sqrt(i))); od; +2d的含义是带符号的十进位整数,域宽为2. 显然,这种输出方式不是我们想要的,为了得到更美观> for i to 10 do printf("i=%+2d and i^(1/2)=%+6.3f\n", i, eval(sqrt(i))); od; 再看下例:将输入的两个数字用特殊形式打印:> niceP:=proc(x,y) printf("value of x=%6.4f, value of y=%6.4f",x,y);

Maple的常用内部数学函数要点

吉林大学公共数学实验中心数学实验 >> 首页> 微积分> 实验2 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)插入 插入超级连接hyperlink 4、其他操作窗口的功能和其他软件基本相同,这里就不做详细介绍了。 二、基本语法规则 MaPle的科学计算功能主要是以命令输入的方式来实现的。Map1e 的命令有自己的使用规则和语法。在使用Maple进行科学计算之前,首先要了解Map1ev命令使用的基本规则。下面给出了利用Maple进行科学计算时的—些基本语法规则 ·MapleV的命令在提示符“>”的右边键入,每行命令要以分号“;”结尾。 ·命令输入结束按回车键,maple就立即执行该命令 ·如果命令以分号结尾,Maple将在下一行给出相应的输出结果,并把光标移到下—个程序段的

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

Part 3:命令和程序包 西希安工程模拟软件(上海)有限公司,2008 3.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),具体的命令名和调用格式取决于你使用的命令。

maple-图形制作

第五章Maple图形绘制 图形无疑是数学中最令人着迷的部分, 一些枯燥的公式可以从图形看出其美. 历史上有许多学者利用函数图形解决了学科中的许多难题. 客观地说, Maple不是一种可视化的语言—它不会产生出版品质的图形. 然而, 它的图形功能非常强大, 足以提供更多的关于函数的信息. 当然, 如果需要, 它的图形作适当改进即可满足出版要求. 限于篇幅, 本章所有图形未作打印, 读者只需在计算机上按照书中语句操作即可观其效果, 更多图形功能可通过Maple帮助获得. 1二维图形制作 Maple所提供的二维绘图指令plot可以绘制二维的函数图、参数图、极坐标图、等高线图、不等式图,等等. 这些绘图指令有些已经内嵌在其核心程序里, Maple启动时即被装入,直接调用函数命令即可,有些则需要使用with(plots)调用plots函数库才能完成. 1.1 基本二维绘图指令 plot (f(x), x=xmin .. xmax); plot (f(x), x=xmin .. xmax, y=ymin .. ymax); plot ([f1(x), f2(x), …], x=xmin .. xmax); plot (f(x), x=xmin .. xmax, option); 其中,xmin..xmax为x的变化范围,ymin..ymax为y(即f(x))的变化范围.option 选项参数主要有: axes:设定坐标轴的显示方式, 一般有FRAME(坐标轴在图形的左边与下面)、BOXED(坐标轴围绕图形)、NORMAL(一般方式显示)或NONE(无) color:设定图形所要涂的颜色(可选用也可自设) coords:指定绘图时所用的坐标系(笛卡尔坐标系(cartesian,默认)、极坐标系

Maple入门教程A7- 数据处理

Part 7:数据处理
西希安工程模拟软件(上海)有限公司,2008
7.0 介绍
本节内容:数据处理,学习如何输入和输出数据,以及使用Maple的统计、可视化、和数据分 析工具。
7.1 输入和输出数据
使用交互式工具或命令输入和输出数据。使用Maple,您可以输入许多格式的数据,以及输出 数据到文件中。
输入数据
操作步骤 使用输入数据助手 输入数据文件,支持的格式包括 Excel, MATLAB, 图片,声音,矩 阵,分隔符文件。 例子:从【工具 -> 分析助手】菜 单,选择 输入数据... 读入数据文件 ExcelData.xls(这个 文件位于Maple安装目录下 data/portal 子文件夹)。 选择Excel格式。 依次点击【下一步】,【下一步 】,【下一步】。您可以添加一个 名称指向该数据,最后点击【完成 】。 输入的数据是数组格式。 现在,使用图形生成器绘制数据对 结果

2
1
应的图形。 鼠标右键点击输入的数据,从弹出 的关联菜单中选择【 Plots>Plot Builder】。 点击【 Plot】。
0
1
2
使用 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)

第4章-方程求解(Maple 中文教程)

第四章 方程求解 1 代数方程(组)求解 1.1 常用求解工具—solve 求解代数方程或代数方程组, 使用Maple 中的solve 函数. 求解关于x 的方程eqn=0的命令格式为: solve(eqn, x); 求解关于变量组vars 的方程组eqns 的命令为: solve(eqns, vars); > eqn:=(x^2+x+2)*(x-1); := eqn () + + x 2x 2() ? x 1 > solve(eqn,x); ,,1? + 1212I 7? ? 1212 I 7 当然, solve 也可以求解含有未知参数的方程: > eqn:=2*x^2-5*a*x=1; := eqn = ? 2x 25a x 1 > solve(eqn,x); , + 54a 14 + 25a 28 ? 54a 14 + 25a 28 solve 函数的第一个参数是有待求解的方程或方程的集合, 当然也可以是单个表达式或者表达式的集合, 如下例: > solve(a+ln(x-3)-ln(x),x); 3e a ? + 1e a 对于第二个参数, Maple 的标准形式是未知变量或者变量集合, 当其被省略时, 函数indets 自动获取未知变量. 但当方程中含有参数时, 则会出现一些意想不到的情况: > solve(a+ln(x-3)-ln(x));

{}, = x x = a ? + ()ln ? x 3()ln x 很多情况下, 我们知道一类方程或方程组有解, 但却没有解决这类方程的一般解法, 或者说没有解析解. 比如, 一般的五次或五次以上的多项式, 其解不能写成解析表达式. Maple 具备用所有一般算法尝试所遇到的问题, 在找不到解的时候, Maple 会用RootOf 给出形式解. > x^7-2*x^6-4*x^5-x^3+x^2+6*x+4; ? ? ? + + + x 72x 64x 5x 3x 26x 4 > solve(%); + 15 ? 15()RootOf , ? ? _Z 5_Z 1 = index 1()RootOf , ? ? _Z 5_Z 1 = index 2(RootOf ,) ? ? _Z 5_Z 1 = index 3,,,,()RootOf , ? ? _Z 5_Z 1 = index 4()RootOf , ? ? _Z 5_Z 1 = index 5,, > solve(cos(x)=x,x); ()RootOf ? _Z ()cos _Z 对于方程组解的个数可用nops 命令获得, 如: > eqns:={seq(x[i]^2=x[i],i=1..7)}; := eqns {,,,,,, = x 12x 1 = x 22x 2 = x 32x 3 = x 42x 4 = x 52x 5 = x 62x 6 = x 72 x 7} > nops({solve(eqns)});128 但是, 有时候, Maple 甚至对一些“显而易见”的结果置之不理, 如: > solve(sin(x)=3*x/Pi,x); ()RootOf ? 3_Z ()sin _Z π 此方程的解为0 ,6π ±, 但Maple 却对这个超越方程无能为力, 即便使用allvalues 求解也只有下述结果: > allvalues(%); ()RootOf , ? 3_Z ()sin _Z π0. 另外一个问题是, Maple 在求解方程之前,会对所有的方程或表达式进行化简, 而不管表达式的类型, 由此而产生一些低级的错误: > (x-1)^2/(x^2-1); () ? x 12 ? x 21 > solve(%); 1

Maple全局优化应用

B5: 全局优化应用 西希安工程模拟软件(上海)有限公司,2010 优化介绍 优化(optimization)的目标是从一组可能的答案中发现问题的最佳解。答案通过使用一个或多个问题变量的实际值目标函数(objective function)进行对比。可能的集合(feasible set )由约束条件(constraints)决定,约束条件通常是关于问题变量的不等式或方程(组)。数学意义上,目的是发现目标函数的最大值(maximizes)或最小值(minimizes )、同时满足( satisfying)约束条件的点,这个点称为极值(extremum)。优化问题定义如下。 的最大值(或最小值 约束条件 , , 和 , 这里, 优化模型由, , 和 的结构分类。如果所有的函数是 x 线性函数,这个模型是一个线性规划(linear program)。如果 是 x 的二次函数,以及 和 是 x 的线性函数,这个模型是一个二次规划(quadratic program)。如果 是一个平方和函数,这个模型是一个非线性规划(least-squares problem)。对于其他任意结构,模型称为非线性回归(NLP)。Maple 9.5中的优化程序包(Optimization)提供了一系列算法分别求解这些类型的问题。 传统上,优化研究集中在局部搜索算法(local)。局部搜索的目的是发现 f(x) 在可行区域内的局部极值。从一个初始点出发,局部搜索算法迭代(iteratively)搜索当前点领域中的一个点,提高目标函数值,同时维持或逼近可行性、使用当前点上关于 , , 和 的迭代信息。理想情况下,搜索会终止于一个可行的局部极值。优化算法的不同决定它们如何衡量逼近可行,以及它们如何搜索。 当在可行区域内有唯一的局部极值时,局部搜索是有效的,这是因为搜索发现的局部解是问题的全局解。如果, 都是凸函数(convex),并且所有的是仿射函数(affine)时,极值是唯一的。 当 在可行区域内有许多局部极值,局部搜索难以完成。在这种情况下,局部极值的发现依赖于起始点,但可能并不是全局解。当任一个, 是非凸函数,或者任一个 是非线性函数时,存在多个局部最小值。非凸性经常存在于现实问题中,可能是求解优化问题最大的障碍。全局优化(Global)是最新的和最成功方法,能够克服这个障碍。

第6章 在Maple中作图

第6章 Maple 中作图 6.1 二维函数作图命令plot 6.1.1 二维函数作图 用plot 命令可以画出一元函数在指定区间上的二维函数图形。其用法有 plot (函数,变量名) plot (函数,范围,选项) 范围和选项均可省略,缺省时系统自动选取最佳设置。最简单的plot 语句为 plot(f(x),x=a..b) 画出f(x)在区间[a,b]上的图像,其中f 可为过程或表达式。 例:画出函数x x f sin )(1=在区间),(∞?∞ 上的图形。 > plot(sin(x)/x,x=-infinity..infinity); 例:画出分段函数??? ??>?≤≤?? f:=x->piecewise(x<-Pi,-x-Pi,x<=Pi and x>=-Pi,sin(x),x>Pi,(x-Pi)/2): plot(f(x),x=-6..6); 6.1.2 plot 选项 6.1.3 参数方程作图

用plot 函数画参数曲线的一般形式为plot ([x(t),y(t),t=a..b],选项) 或plot ([[x(t),y(t),t=a..b],[u(t),v(t),t=c..d]],选项)在一个坐标系中同时画两条参数曲线。 例 :画参数曲线]2,0[sin cos 1π∈? ??=+=t t y t x ,。 > plot([1+cos(t),sin(t),t=0..2*Pi]); 6.1.4 特殊坐标系下作图 plot 通常画的是直角坐标下的函数图像,通过设置coords 选项,plot 也可以画出特殊坐标下的函数图像。例如,画出极坐标下函数b t a t r r ≤≤=,)(的图形可用命令 plot(r(t),t=a..b,coords=polar) 或 plot([r(t),t,t=a..b],coords=polar) 在6.3小节中,还将给出plots 程序包中画特殊坐标系下的函数图像的命令,例如 polarplot(r(t),t=a..b) 例 :特殊坐标系下的函数图像。 > plot([cos(6*x),x,x=0..2*Pi],coords=polar);

数学软件Maple使用教程

数学软件Maple使用教程 序言 一.什么是数学实验? 我们都熟悉物理实验和化学实验,就是利用仪器设备,通过实验来了解物理现象、化学物质等的特性。 同样,数学实验也是要通过实验来了解数学问题的特性并解决对应的数学问题。过去,因为实验设备和实验手段的问题,无法解决数学上的实验问题,所以,一直没有听说过数学实验这个词。随着计算机的飞速发展,计算速度越来越快,软件功能也越来越强,许多数学问题都可以由计算机代替完成,也为我们用实验解决数学问题提供了可能。 数学实验就是以计算机为仪器,以软件为载体,通过实验解决实际中的数学问题。 二.常用的数学软件 目前较流行的数学软件主要有四种: 1.MathACD 其优点是许多数学符号键盘化,通过键盘可以直接输入数学符号,在教学方面使用起来非常方便。缺点是目前仅能作数值运算,符号运算功能较弱,输出界面不好。 2.Matlab 优点是大型矩阵运算功能非常强,构造个人适用函数方便很方便,因此,非常适合大型工程技术中使用。缺点是输出界面稍差,符号运算功能也显得弱一些。不过,在这个公司购买了Maple公司的内核以后,符号运算功能已经得到了大大的加强。再一个缺点就是这个软件太大,按现在流行的版本5.2,自身有400多兆,占硬盘空间近1个G,一般稍早些的计算机都安装部下。我们这次没用它主要就是这个原因。 3.Mathematica 其优点是结构严谨,输出界面好,计算功能强,是专业科学技术人员所喜爱的数学软件。缺点是软件本身较大,目前流行的3.0版本有200兆;另一个缺点就是命令太长,每一个命令都要输入英文全名,因此,需要英语水平较高。 4.Maple 优点是输出界面很好,与我们平常书写几乎一致;还有一个最大的优点就是它的符号运算功能特别强,这对于既要作数值运算,又要作符号运算时就显得

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)插入 插入超级连接hyperlink 4、其他操作窗口的功能和其他软件基本相同,这里就不做详细介绍了。 二、基本语法规则 MaPle的科学计算功能主要是以命令输入的方式来实现的。Map1e 的命令有自己的使用规则和语法。在使用Maple进行科学计算之前,首先要了解Map1ev命令使用的基本规则。下面给出了利用Maple进行科学计算时的—些基本语法规则 MapleV的命令在提示符“>”的右边键入,每行命令要以分号“;”结尾。 命令输入结束按回车键,maple就立即执行该命令 如果命令以分号结尾,Maple将在下一行给出相应的输出结果,并把光标移到下—个程序段的开始行;如果命令以冒号结尾,Maple 执行命令但不显示输出结果,光标直按移到下一个程序段的开始。

怎样使用Maple帮助系统

怎样使用Maple帮助系统 对于刚接触Maple的新用户来说,对Maple是有很多疑问的,用户们不知道怎么使用这款软件。Maple提供了一个非常好的帮助系统,Maple帮助系统是最重要的资源,用户可以学习和掌握Maple命令的语法和功能。 更多Maple入门的基础操作与介绍请访问Maple中文版网站。 有几种途径可以进入Maple帮助系统: 从Maple顶部的“帮助”菜单,选择帮助文件。 点击工具栏上的图标。 如果已经知道希望阅读的主题词,可以直接从Maple文件访问帮助页,方法是执行命令“?topic”,例如输入“?LinearAlgebra”,回车后弹出“LinearAlgebra”相关的主题列表和帮助页。 Maple帮助系统打开一个独立的窗口,包含两个窗格,如图所示。左侧的窗格包含开始检索和浏览的内容,右侧的窗格显示最后的检索结果,例如一个特定的帮助页。 Maple中的帮助页面列出了命令的调用格式、参数、和使用说明,并在帮助页的后面列举了使用范例。一些帮助页面中还提供了超链接,使用户可以阅读相关的页面和字典定义。链接帮助页的超链接显示为绿色,链接到字典定义的超链接显示为暗红色。

使用帮助导航: 用户可在帮助系统导航中输入要搜索的主题或关键词,选项卡提供了帮助系统所有主题的列表。 某些时候,在解决某个数学问题时不知道应该使用Maple的什么命令,用户可从数学问题本身出发,推测在这些命令的帮助页面应当包含某些特定单词,此时就要用到全文查找的方法(选择搜索文本)。例如想要解一个微分方程,但是不知道应该用什么命令,我们可以推测,在这个命令的帮助中应该包含solve,differential和equation等关键词,此时可以在帮助菜单中选择搜索文本,在搜索区域输入要查找的关键词,例如solve differential equation 等,然后单击搜索按钮,让Maple开始检索。 搜索帮助系统: 在左侧窗格的搜索区域输入字符。 默认情况下,完成主题检索。为了完成文字检索,选择文字按钮。输入关键字,回车后开始检索。 Maple 将列出匹配的主题,并附带数值,表明匹配的程度,用户可从列表中选择最感兴趣的主题。 检索将列出匹配的主题,基于主题中关键词的使用频率。 通过选择资源下拉菜单,用户可以检索所有的帮助系统或指定的资源,例如帮助页、任务、向导、和手册。 检索结果排列在左侧窗格的检索结果选项卡内,点击内容表选项卡,查看帮助系统中的所有主题。 以上内容向大家介绍了进入Maple帮助系统的方法以及帮助文件的使用。这对Maple入门学习来说非常有帮助。如果需要了解更多Maple基本操作,可以参考Maple中文版网站的教程:介绍Maple入门的一些常见操作。

用Maple软件进行数学实验课设计

用Maple软件进行数学实验课设计 为解决高职生在数学学习中抽象思维能力偏低,在数学学习方面发现问题、分析问题、解决问题的能力有限等问题,本人利用Maple软件强大的符号运算、数值计算和图形动画功能,将数学问题可视化,把抽象的数学定理、数学概念以及数学问题转化为形象思维过程,并精选四个典型的问题,从数学问题动态化、数学问题图形化和数字形象化三个维度来设计数学实验,结合日常数学教学实践,从数学实验的理论和实践进行设计,深入分析了Maple可视化数学实验课对学生学习效果、教师的教学方式等方面的影响。 标签:数学实验;maple 数学是一门推理演绎的课程,具有高度的抽象性和严密的逻辑性,这些特点决定了传统的数学教学必须具备三大能力:运算能力、逻辑思维能力、和空间想象能力。信息技术与高职数学教学的整合主要依据主要分为现代学习理论和现代教学理论两方面。 现代学习理论分为:建构主义学习理论、人本主义学习理论和行为教学法。 建构主义认为,知识不是通过教师传授得到的,而是学习者在一定情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的,提倡教师指导下的以学生为中心的学习。而目前高职数学教学中最缺少的就是以学生为中心的教学和学习。人本主义一方面反对行为主义把人看作动物或机器,不重视人类本身的特征;另一方面也批评认知心理学虽然重视人类的认知结构,但却忽视了人类情感、价值、态度等方面对学习的影响,强调教学是一种人与人的情感的交流活动,教师应该把自己的情意因素转移到学生的身上,促进学生自主自觉的学习,这对信息技术与高职数学教学整合也具有指导意义。而行为主义教学法是一种能力本位的方法,简单的说就是“干中学(learning by doing)”,开发行为教学法的先驱者之一科弗代尔(Ralph Coverdale)顾问常对学员说“不要谈论,去干!”。 传统教学是以课堂为中心,教师把完成教学任务作为课堂教学的唯一任务,在设计教学过程和实施课堂教学的过程中也以此为中心,在教学过程中以教师为中心,课堂上对学生的培养仅仅局限在知识的传授上,而忽略了学生的全面发展,教学中低估了学生已有的认知能力和知识积累,上课就是一个执行教案的过程,理想的状态就是完成教案,而不希望“节外生枝”。这种教学方式把丰富的、复杂的、变动的课堂教学过程简化为单一的认知过程,把它从整体的丰富的生命活动中隔离出来,教学过程中轻视了学生的个体差异,不能充分调动学生的主观能动性和创造性,使得数学教学只能是事倍功半。 传统教学方式以教师传授知识为中心,忽略学生作为学习主体的参与作用,不利于培养学生的素质。传统的数学教学效率低,概念定义的推论、图形绘制等,使得板书和画图时间占用太多,讲解和学生讨论时间不足;传统的数学教学中

Maple提高教程B3- Maple中的偏微分方程求解

B3: Maple中的偏微分方程求解 西希安工程模拟软件(上海)有限公司,2008 11.0 Maple中的微分方程求解器介绍 Maple中微分方程求解器使用领先的算法求解以下问题: 常微分方程 (ODEs): dsolve 命令用于求解线性和非线性ODEs, 初始值问题 (IVP), 以及边界值问题 (BVP),可以通过参数项选择求符号解 (解析解) 或数值解。ODE Analyzer Assistant 微分方程分析器助手提供一个交互式用户界面方便用户求解 ODE 以及显示结果的图形。了解更多信息,参考帮助系统中的 dsolve, dsolve/numeric, 和 ODE Analyzer. 偏微分方程 (PDEs): pdsolve 命令用于求 PDEs 和含边界值问题的 PDEs 的符号解或数值解。使用Maple的PDE工具可以完成对PDE系统的结构分析和指数降阶处理。了解更多信息,参考帮助系统中的 pdsolve and pdsolve/numeric. 微分-代数方程 (DAEs): dsolve/numeric 命令是符号-数值混合求解器,使用符号预处理和降阶技术,让Maple能够求解高指数的DAE问题。Maple内置三个求解器用于处理DAEs:1)修正的 Runge-Kutta Fehlberg 方法,2)Rosenbrock 方法,以及 3)修正的拓展后向差分隐式方法。 11.1 求解偏微分方程PDE问题(BVP和IVP) Maple 求解经典力学难题的能力是非常著名的,它的数值和符号偏微分方程求解器是其中的重要工具。 例子:在不同的边界条件下,求波动方程的数值解、解析解、和图形解。 11.1.1 初始化 下面的Maple代码定义了一个名为P X的程序,生成函数的周期展开。 PX := proc(h::{algebraic,procedure},g::{range,name=range}) local L, D, var; if type(g,'range') then L := lhs(g); D := rhs(g) - L;

Maple基础教程(修订稿)

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 的余数, 并将商赋给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); true 3) 确定第i 个素数(ithprime)

第07章-Maple的3D绘图基本功能

第七章Maple的3D图形基本功能图7-01~06快捷绘图函数smartplot3d的运用 smartplot3d(x^2+y^2);lprint(%); 图1smartplot3d直接返回的图形和数据结构 smartplot3d(abs(x)+abs(y)+abs(z)=4);lprint(%); 图2smartplot3d还可以接受非初等函数的隐函数方程smartplot3d(x^2+y^2,x*y);lprint(%); 图3smartplot3d可以接受多个表达式并可分别做交互式设置利用函数smartplt3d还可以绘制自定义的“分区函数”的图形。 M:=(x,y,z)->piecewise(y>0and x>0,1,-1); M(x,y,z);

smartplot3d(M(x,y,z));lprint(%); 图4利用smartplot3d绘制“分区函数”的图形(做过交互式设置)smartplot3d函数具有multyple功能,因而可以绘制曲面族的图形。 smartplot3d(seq(x^2+y^2+125*i,i=1..4)); 图5利用smartplot3d函数的multyple功能绘制曲面族的图形 可以把smartplot3d函数返回的图形数据结构拷入一个执行组,并添加一些plot设置选项,再次执行。 INTERFACE_SMARTPLOT3D([x^2+y^2,x,y,_NoZ],style=LINE,a xes=frame,color=blue);lprint(%); 图6把图1的返回数据拷入一个执行组,并添加一些设置选项,再次执行的结果 图73D图形窗口 图83D图形工具栏的第一组 图93D图形工具栏的第二组 图10各钮对应的图形样式 图113D图形工具栏的第三组 图12不同样式的坐标架 图13Style级联菜单

Maple使用之要素习得

Maple使用之要素习得 . 教程简介 第一 数值计算 节: 第二 代数运算 节: 第三 图像 节: 第四 解方程 节: 第五 函数:定义、求值、作图节: 第六 更多关于图像 节: 实践问题

Maple 快速参考卡 工作表界面注释 教程目录 本教程由Mike Pepe设计,他对有效使用Maple所必需的基本命令给出了精辟的介绍。以下的六节内容将带领你进入Maple的世界,你不妨亲自动手实践体验Maple的滋味。 说明:本教程针对初等数学水平,不需用户据有微积分基础,但不失为接触微积分的好帮手。 本教程的每节都有如下部分: ?例 : 一组短小、完整解决的例子,用以说明新命令。 ?练习:基于本节内容的短小练习,后面附有答案用以检查结果。 1-6节之后是实践问题。这些问题将提供一个使用本教程中全部命令的机会。完成这部分问题后,你已经为在数学课中高效使用Maple做好了准备。 在本教程结尾你将发现一个名为“快速参考卡”的部分,它列出了本教程中你学到的Maple命令及使用格式以便参考。

本教程着眼于基本的Maple命令,工作表界面的细节问题请参阅本教程最后一节:工作表界面说 第一节:数值计算 o精确算术运算 o用evalf()函数做数值近似 ?练习 1.1 ?答案 1.1 ?练习 1.2 ?答案 1.2 ?练习 1.3 ?答案 1.3 ?练习 1.4 ?答案 1.4 o清除变量 第一节:数值计算 本节将用Maple做一些标准的数值计算。我们将看到Maple提供精确结果和数值近似的能力为我们解决问题带来更大灵活性。 精确算术运算 使用Maple进行数值运算是一件直截了当的事,只需输入数值表达式并以英文分号;为结尾,再按回车经计算结果在下行居中显示. 例 1: > 2+4;

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; 13717421 109739369 > 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的余数,并将商赋给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(2A(2A4)+1); true 3) 确定第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) 命令格式:

2maple第五章绘图指导

第五章绘图: 作图有两个软件包。(1)图形软件包,用with(plots)调入。(2)图形工具包with(plottools) 图形包)中有下列作图命令: animate, animate3d动画changecoords改变坐标系complexplot, complexplot3d复函数图conformal contourplot contourplot3d coordplot coordplot3d cylinderplot柱坐标函数图densityplot密度图display display3d图函数显示fieldplot fieldplot3d区域图gradplot gradplot3d梯度图implicitplot implicitplot3d 隐函数图inequal listcontplot listcontplot3d listdensityplot listplot listplot3d loglogplot logplot matrixplot odeplot微分方程数值解图pareto pointplot pointplot3d点图polarplot极坐标图polygonplot polygonplot3d多边形图polyhedraplot replot rootlocus semilogplot setoptions setoptions3d作图选项设置spacecurve空间曲线图sparsematrixplot sphereplot球坐标图surfdata textplot textplot3d tubeplot 工具包中有下列图形工具: arc弧arrow 箭头circle圆cone 圆锥cuboid长方体curve曲线cutin cutout cylinder柱disk 圆盘dodecahedron十二面ellipse椭圆ellipticArc椭圆弧hemisphere半球hexahedron 六面体hyperbola双曲线icosahedron二十面体line线段octahedron八面体pieslice point点polygon多边形rectangle矩形semitorus sphere球tetrahedron四面体torus轮 第一节二维曲线图: 一.基本命令(不需调图形包) plot({f1(x),f2(x),…},x=a..b,选项);一元函数曲线 plot(f,a..b,选项); 作过程函数图 x=a..b(中间两点)表示变量x在[a,b]区间。 后面可有如下选项: (1)scaling坐标尺度控制,两个值CONSTRAINED和UNCONSTRAINED(等长和不等长); (2)axes(坐标架)有四个选项frame(边上),boxed(箱),normal(正常),none(没有) (3)coords(选坐标系)常用有polar极坐标,cylindrical柱坐标,spherical球坐标; (4)numpoints(节点数); (5)resolution(水平密度); (6)color(颜色)有:黑black 白white 红red 黄yellow 兰blue 绿green 金gold 褐brown灰gray, grey 茶maroon 橙orange 碧绿aquamarine 海兰navy 桃红coral 兰绿cyan 土黄khaki 紫红magenta 粉红pink 深紫plum 黄褐tan 天兰turquoise 兰紫violet 麦黄wheat 红绿兰RGB 色彩HUE; (7)x(y)tickmarks(坐标刻度数) (8)style(风格):point点,line线,patch缺补 (9)discont(连续性控制) (10)title(标题) (11)thickness(线粗):0,1,2,3几个值 (12)linestyle(线型):后跟数字 (13)symbol(点形状):box框,cross叉,circle圈,point点,diamond菱型 (14)font(字体):[family,style,size]

相关主题