第2章 Maple微积分运算

合集下载

积分和微分方程的MAPLE求解

积分和微分方程的MAPLE求解

x e
2 1
2
2 x

dx,

0
sin t dt , t


e
x2
dx
七 微分方程求解
> ?dsolve ode1:=t*diff(y(t),t) =y(t)*ln(t*y(t))-y(t);
> dsolve(ode1,y(t));
ode2:=diff(y(t),t,t)
+2*diff(y(t),t)+3*y(t)=a*sin(t);
> Int(exp(t)/t,t)=int(exp(t)/t,t);
定积分
Int(exp(-x),x=a..b);
int(exp(-x),x=a..b);
I1:=Int(exp(-x^2),x=0..1)
=int(exp(-x^2),x=0..1);
> ?erf > evalf(I1); ## 求近似值
课堂练习
1. y xy x e ,
2 2x
y (0) 2;
2. y 3 y 2 y x 2e x ; dx1 dt x2 x1 (0) 1 dx2 3. 4 x1 4 x2 2 x3 , x2 (0) 0 dt x3 (0) 1 dx3 2 x x x 1 2 3 dt
> dsolve(sys2, {f,g,h});
微分方程组的初值问题求解
> ######### solve the system of ODES with initial value conditions
> IC_1 := {x(a)=A,y(b)=B}; > ans1 := dsolve(sys1 union IC_1,{x(t),y(t)});

微分方程的maple求解

微分方程的maple求解

微分⽅程的maple求解1、常⽤函数1)求解常微分⽅程的命令dsolve.dsolve(常微分⽅程)dsolve(常微分⽅程,待解函数,选项)dsolve({常微分⽅程,初值},待解函数,选项)dsolve({常微分⽅程组,初值},{待解函数},选项)其中选项设置解得求解⽅法和解的表⽰⽅式。

求解⽅法有type=formal_series(形式幂级数解)、type=formal_solution(形式解)、type=numeric(数值解)、type=series(级数解)、method=fourier(通过Fourier变换求解)、method=laplace(通过Laplace变换求解)等。

解的表⽰⽅式有explicit(显式)、implicit(隐式)、parametric(参数式)。

当⽅程⽐较复杂时,要想得到显式解通常⼗分困难,结果也会相当复杂。

这时,⽅程的隐式解更为有⽤,⼀般也要简单得多。

dsolve为标准库函数。

2)求解⼀阶线性常微分⽅程的命令linearsol.在Maple中求解⼀阶线性⽅程既可以⽤dsolve函数求解,也可以⽤Detools函数包中的linearsol函数求解。

linearsol是专门求解线性微分⽅程的命令,使⽤格式为: linearsol(线性⽅程,待解函数)linearsol的返回值为集合形式的解。

3)偏微分⽅程求解命令pdsolve.pdsolve(偏微分⽅程,待解变量,选项)pdsolve(偏微分⽅程,初值或边界条件,选项)pdsolve为标准库函数,可直接使⽤。

如果求解成功,将得到⼏种可能结果:⽅程的通解;拟通解(包含有任意函数,但不⾜以构造通解);⼀些常微分⽅程的集合;2、⽅法1)⼀阶常微分⽅程的解法a 分离变量法 I 直接分离变量法。

如()()dyf xg y dx=,⽅程右端是两个分别只含x 或y 的函数因式乘积,其通解为()()dyf x dx Cg y =+?。

用Maple学习微积分2

用Maple学习微积分2

用Maple学习微积分理解导数函数f(x)在x处的导数☐“工具”→“Math Apps”→“Calculus”→“Derivative Definition”计算导数命令行☐单变元函数一阶导diff(f(x), x)☐单变元函数n阶导diff(f(x), x$n)☐右键→“Differentiate”→“With Respect To”→选择变量不支持高阶导计算导数命令行☐多变元函数f对x1,x2,x3依次求偏导diff(f, x1,x2,x3) ☐右键→“Differentiate”→“With Respect To”→选择变量☐连续对某个变元求偏导diff(f, x1,x2$2,x3)导数做图利用Student[Calculus1]软件包的DerivativePlot☐DerivativePlot(f,x=a..b)在区间[a,b]做出f及其导数的图像☐DerivativePlot(f,x=a..b,order=1..n)做出f及其直至n阶导数的图像注意:首先用with命令调用软件包导数做图利用plot函数☐设F=[f1,f2,f3]为函数序列,则plot(F,x=a..b)做出函数f1,f2和f3在区间[a,b]上的一幅图像☐:= :赋值语句☐for:循环语句☐op(S):返回集合或序列S中的所有元素☐“:”VS“;”用Maple 学习微积分:for 循环和if 语句for 循环☐变量i 以间隔c 从a 变至b ☐对于每个i ,执行“命令行”for i from a to b by cdo命令行end do:if 语句if 表达式then命令行1else命令行2end if:☐如果表达式成立则执行“命令行1”,否则执行“命令行2”利用for 循环和if 语句计算100内可以被3整除的奇数之和(mod 求模运算)泰勒展开利用泰勒级数f n近似函数f(x)☐“工具”→“Math Apps”→“Calculus”→“Taylor's Theorem”计算泰勒展开☐taylor(f,x=a,n)计算f在点a处的n阶泰勒展开☐convert(t,polynom)将泰勒展开转化为泰勒多项式convert命令可以实现各种数据格式的可行转换用Maple学习微积分:牛顿迭代法牛顿迭代法☐NewtonsMethodTutor()调用牛顿迭代法演示小程序☐NewtonsMethod(f,x=a,output=sequence)调用牛顿迭代法以初始点a计算方程f=0的一个解用Maple学习微积分小结☐导数的理解、计算与做图☐for循环与if语句☐泰勒展开☐牛顿迭代法自己试一试:1000000以内的素数有多少?并计算这些素数的和。

用Maple学习微积分2

用Maple学习微积分2

用Maple学习微积分理解导数函数f(x)在x处的导数☐“工具”→“Math Apps”→“Calculus”→“Derivative Definition”计算导数命令行☐单变元函数一阶导diff(f(x), x)☐单变元函数n阶导diff(f(x), x$n)☐右键→“Differentiate”→“With Respect To”→选择变量不支持高阶导计算导数命令行☐多变元函数f对x1,x2,x3依次求偏导diff(f, x1,x2,x3) ☐右键→“Differentiate”→“With Respect To”→选择变量☐连续对某个变元求偏导diff(f, x1,x2$2,x3)导数做图利用Student[Calculus1]软件包的DerivativePlot☐DerivativePlot(f,x=a..b)在区间[a,b]做出f及其导数的图像☐DerivativePlot(f,x=a..b,order=1..n)做出f及其直至n阶导数的图像注意:首先用with命令调用软件包导数做图利用plot函数☐设F=[f1,f2,f3]为函数序列,则plot(F,x=a..b)做出函数f1,f2和f3在区间[a,b]上的一幅图像☐:= :赋值语句☐for:循环语句☐op(S):返回集合或序列S中的所有元素☐“:”VS“;”用Maple 学习微积分:for 循环和if 语句for 循环☐变量i 以间隔c 从a 变至b ☐对于每个i ,执行“命令行”for i from a to b by cdo命令行end do:if 语句if 表达式then命令行1else命令行2end if:☐如果表达式成立则执行“命令行1”,否则执行“命令行2”利用for 循环和if 语句计算100内可以被3整除的奇数之和(mod 求模运算)泰勒展开利用泰勒级数f n近似函数f(x)☐“工具”→“Math Apps”→“Calculus”→“Taylor's Theorem”计算泰勒展开☐taylor(f,x=a,n)计算f在点a处的n阶泰勒展开☐convert(t,polynom)将泰勒展开转化为泰勒多项式convert命令可以实现各种数据格式的可行转换用Maple学习微积分:牛顿迭代法牛顿迭代法☐NewtonsMethodTutor()调用牛顿迭代法演示小程序☐NewtonsMethod(f,x=a,output=sequence)调用牛顿迭代法以初始点a计算方程f=0的一个解用Maple学习微积分小结☐导数的理解、计算与做图☐for循环与if语句☐泰勒展开☐牛顿迭代法自己试一试:1000000以内的素数有多少?并计算这些素数的和。

高中数学论文 Maple在微积分中的应用

高中数学论文 Maple在微积分中的应用

Maple 在微积分中的应用摘要:Maple 被称为当今世界上最流行的符号计算软件之一,它具有强大的交互式工程数学计算功能;其丰富的函数包能满足用户在各方面的需求;简单灵活的平面和立体作图技术使得它成为当前最普及的数学教学软件;它在统计学、经济结算方面的程序库被广泛应用于很多领域。

本文通过Maple9.5软件分六个部分:1. Maple 在极限中的应用;2.Maple 在求导中的应用;3. Maple 在积分中的应用;4.Maple 在级数中的应用;5.Maple 在积分变换中的应用;6.Maple 中通过菜单的工具选项操作实现相关微积分的功能对Maple 在微积分中应用进行了系统的研究与说明。

关键字:Maple ;微积分;应用研究一、Maple 在极限中的应用1 数列的极限 例1.设22211112n u n=+++,求lim n n u →∞。

首先可以通过Maple 绘制散点图得到这个数列是收敛的,如图1:> with(plots);> plot(sum('1/k^2','k'=1..n),n=1..1000);(图1 数列{}n u 散点图) 进一步用maple 计算得到该数列的极限为216π,其中命令为: > limit(sum('1/k^2','k'=1..n),n=infinity); 例2.10110,1,,lim 2n n n n n x x x x x x -+→∞+===设求。

这是一种迭代形式的数列,对于这种题目,我们一般有两种解答方法:1)先证明数列为单调,再证明其有上界或下界,从而根据单调有界定理得到数列的极限存在,最后,对数列的迭代式两边求极限;2)通过计算数列的通项公式,直接求极限。

在本题中,显然,第一种方法是行不通的,因此,我们尝试用第二种方法来解。

Maple 可以通过命令容易的解决此种迭代形式的数列,其中命令为: > rsolve({x(n+1)=(x(n)+x(n-1))/2,x(0)=0,x(1)=1},x(n));得到数列的通项公式为221332nn x -⎛⎫=- ⎪⎝⎭,这样,就得到了这个数列的极限是23。

第二章 Maple微积分运算

第二章 Maple微积分运算

1 函数的极限和连续
1.1 函数和表达式的极限
在 Maple 中, 利用函数 limit 计算函数和表达式的极限. 如果要写出数学表达式, 则 用惰性函数 Limit. 若 a 可为任意实数或无穷大时, 求 lim f ( x) 命令格式为: limit(f,x=a);
xa
f ( x ) 时的命令格式为 limit(f, x=a, right); 求 lim f ( x ) 时的命令格式为 limit(f, 求 lim
- 37 -
x 2 y 20 otherwise
4 2 2 4 x 6 x y y 3 ( x 2 y 2 ) 0
x 2 y 20 otherwise
函数 diff 求得的结果总是一个表达式, 如果要得到一个函数形式的结果, 也就是求 导函数, 可以用 D 算子. D 算子作用于一个函数上, 得到的结果也是一个函数. 求 f 的导 数的命令格式为: D(f); 值得注意的是, f 必须是一个可以处理为函数的代数表达式, 它可以包含常数、已知 函数名称、未知函数名称、箭头操作符、算术和函数运算符. 复 合 函 数 表 示 为 f@g, 而 不 是 f(g), 因 此 D(sin(y)) 是 错 误 的 , 正 确 的 应 该 是 D(sin@y). D 运算符也可以求高阶导数, 但此时不用$, 而用两个@@. D 运算符并不局限于单变量函数, 一个带指标的 D 运算符 D[i](f)可以用来求偏导函 数, D[i](f)表示函数 f 对第 i 个变量的导函数, 而高阶导数 D[i,j](f)等价于 D[i](D[j](f)). > g:=x->x^n*exp(sin(x));
2 x 2 y
> f(x,y):=piecewise(x^2+y^2<>0,x*y/(x^2+y^2));

Maple基础教程

Maple基础教程

目录第二章MAPLE基础 (1)2.1与M APLE对话 (1)2.2使用命令和函数包 (18)2.3微积分 (23)2.4线性代数 (28)2.5微分方程 (35)2.6优化 (45)2.7动态系统 (53)2.8基础编程知识 (58)2.9M APLE使用中常犯的错误 (78)第二章Maple基础Maple是目前应用非常广泛的科学计算软件之一,具有非常强大的符号计算和数值计算功能。

Maple 提供智能界面求解复杂数学问题和创建技术文件,用户可在易于使用的智能文件环境中完成科学计算、建模仿真、可视化、程序设计、技术文件生成、报告演示等,从简单的数字计算到高度复杂的系统,满足各个层次用户的需要。

与传统工程软件不同,甚至有别于旧版本的Maple,新版本Maple为工程师提供了大量的专业计算功能,庞大的数学求解器可用于各种工程领域,如微分方程、矩阵、各种变换包括FFT、统计、小波、等等,超过5000个计算命令让用户通常只需要一个函数就可以完成复杂的分析任务。

本章主要介绍Maple的基本功能,包括:数值和符号计算计算、求解方程、微积分计算、向量及矩阵计算、微分方程求解等。

Maple是一个全面的系统,提供多种方式完成同一个任务。

在本章中,我们将通过简单、易于重复的方式求解常见的问题,但它不是唯一的操作方式。

当用户熟悉本章中的各种操作方式后,用户可以通过帮助系统了解如何使用相似的技术完成各种任务。

2.1 与Maple对话2.1.1 Maple环境Maple的用户界面是一个典型的Windows或Mac风格的操作环境。

工作环境界面如图2-1所示。

图2-1:Maple工作界面在图2-1的工作界面中,窗体的主要部分包括:●主文档,即主工作区。

事实上,用户大可以把它想象成包含有各种数学和绘图工具的Microsoft Word。

●面板区。

汇集了数学工具和特殊的数学符号,用户可以将它们直接拖拽到工作区中使用。

面板区中最重要的面板当属Expressions,Matrix,Common Symbols和Greek。

Maple中的微分代数方程求解

Maple中的微分代数方程求解

Part10:Maple中的微分代数方程求解西希安工程模拟软件(上海)有限公司,200810.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)修正的拓展后向差分隐式方法。

10.1 Maple中的微分代数方程(DAEs)更多亮点:大部分情况下,通过识别是否存在因变量的纯代数方程,dsolve命令可以判断给定的问题是否是微分代数方程,而不是常微分方程。

如果输入是一个不含有纯代数方程的微分代数方程,使用solve求解时需要用method参数指定对象是一个微分代数方程。

dsolve 有三种数值方法求解DAEs。

默认的 DAE IVP 方法是 modified Runge-Kutta Fehlberg method (rkf45_dae),另两个方法是 rosenbrock_dae 和 Modified Extended Backward-Differentiation Implicit method (mebdfi),可以通过 method 参数项指定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

> D(D(sin)); −sin
> (D@@2)(sin); −sin
> f:=(x,y,z)->(x/y)^(1/z);
fБайду номын сангаас
:=
(
x,
y,
z)

⎛⎝⎜⎜
x y
⎛⎝⎜⎜
⎞⎠⎟⎟
1 z
⎞⎠⎟⎟
> Diff(f,y)(1,1,1)=D[2](f)(1,1,1);
lim
x→ 1
xn − 1 x− 1
=
n
> Limit(x^x,x=0,right)=limit(x^x,x=0,right);
lim xx = 1
x → 0+
> Limit(abs(x)/x,x=0,left)=limit(abs(x)/x,x=0,left);
lim x = -1 x → 0- x
[ -10.0000086158831731 .. -9.99994148230377888 , -8.00006570776243642 .. -7.99994267738026022 , -6.00006150975869534 .. -5.99992641140166860 , -4.00004327130417892 .. -3.99994355004940650 , -2.00005917347370676 .. -1.99993152974711540 , -.0000687478627751661410 .. .0000124812251913941740 ]
时返回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
1 +
y2

2 y2
(
x2
+
y2
2
)

2 x2
(
x2
+
y2
2
)
0
+
8 x2 y2
(
x2
+
y2
3
)
> normal(%);
x2 + y2 ≠ 0 otherwise
- 37 -
⎧⎩⎪⎪⎪⎪⎪⎪⎨

x4
− 6 x2 y2 +
(
x2
+
y2
3
)
0
y4
x2 + y2 ≠ 0 otherwise
函数 diff 求得的结果总是一个表达式, 如果要得到一个函数形式的结果, 也就是求 导函数, 可以用 D 算子. D 算子作用于一个函数上, 得到的结果也是一个函数. 求 f 的导
> D(g);
x→
xn
n
sin( x
e
)
+
xn cos( x )
sin( x )
e
x
> Diff(g,x)(Pi/6)=D(g)(Pi/6);
⎛⎝⎜⎜
∂ ∂x
g
⎠⎟⎟⎞⎝⎜⎜⎛
1 6
π ⎠⎟⎟⎞
=
6
⎛⎝⎜⎜
1 6
n
π ⎞⎠⎟⎟ n
π
( 1/2 )
e
+
1 2
⎛⎝⎜⎜
1 6
n
π ⎠⎟⎟⎞
( 1/2 )
3e
> fdiscont(round(3*x-1/2),x=-1..1);
[ -1.00003155195758886 .. -.999634596231187556 , -.667056666250248842 .. -.666327819216380068 , -.333731406929595187 .. -.333002495225188489 , -.000262904384890887231 .. .000298288004691702826 , .332976914927844203 .. .333778498831551751 , .666340020328179072 .. .667141797110034518 , .999646728223793524 .. 1.00008356747731275 ]
> limit((sin(x+y)/(sin(x)*sin(y)),{x=Pi/4,y=Pi/4}));
limit⎛⎝⎜⎜
sin( x sin( x )
+ y) sin( y
)
,
{
x
=
1 4
π,
y
=
1 4
π
}
⎞⎠⎟⎟
> limit(limit(sin(x+y)/(sin(x)*sin(y)),x=Pi/4),y=Pi/4);
x→a+
x→a−
x=a, left); 请看下述例子:
> Limit((1+1/x)^x,x=infinity)=limit((1+1/x)^x,x=infinity);
x
lim
x→ ∞
⎛⎝⎜⎜ 1 +
1 x
⎞⎠⎟⎟
=e
> Limit((x^n-1)/(x-1),x=1)=limit((x^n-1)/(x-1),x=1);
第二章 微积分运算
微积分是数学学习的重点和难点之一, 而微积分运算是 Maple 最为拿手的计算之一, 任何解析函数, Maple 都可以求出它的导数来, 任何理论上可以计算的积分, Maple 都可 以毫不费力的将它计算出来. 随着作为数学符号计算平台的 Maple 的不断开发和研究, 越来越多的应用程序也在不断地创设.
2
1.2 函数的连续性
1.2.1 连续 在 Maple 中可以用函数 iscont 来判断一个函数或者表达式在区间上的连续性. 命令
格式为: iscont(expr, x=a..b, 'colsed'/'opened');
其中, closed表示闭区间, 而opened表示开区间(此为系统默认状态). 如果表达式在区间上连续, iscont返回true, 否则返回false, 当iscont无法确定连续性
> iscont(ln(x),x=10..1); true
1.2.2 间断 函数 discont 可以寻找函数或表达式在实数域的间断点, 当间断点周期或成对出现
- 35 -
时, Maple 会利用一些辅助变量予以表达, 比如, _Zn~(任意整数)、_NZn~(任意自然数) 和 Bn~(一个二进制数, 0 或者 1), 其中 n 是序号. 判定 f(x)间断点的命令为:
> 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 无法找到答案,此时,不应轻易得出极 限不存在的结论,而是应该利用数学基础判定极限的存在性,然后再寻找别的可行的方 法计算极限(如化 n 重根限为 n 次极限等)。如下例就是化二重极限为二次极限而得正确 结果:
f( x,
y)
:=
⎧⎩⎪⎪⎪⎪⎪⎨
xy x2 + y2
0
x2 + y2 ≠ 0 otherwise
> diff(f(x,y),x);
⎧⎩⎪⎪⎪⎪⎪⎪⎨
x2
y +
y2
− 2 x2 y
(
x2
+
y2
2
)
0
x2 + y2 ≠ 0 otherwise
> diff(f(x,y),x,y);
⎧⎩⎪⎪⎪⎪⎪⎪⎨
x2
> Limit(abs(x)/x,x=0,right)=limit(abs(x)/x,x=0,right);
lim
x → 0+
x x
=1
- 34 -
> limit(abs(x)/x,x=0); undefined
对于多重极限计算, 也用limit. 命令格式为: limit(f, points, dir); 其中, points是由一 系列方程定义的极限点, dir(可选项)代表方向: left(左)、right(右)等. 例如:
另一个寻找间断点的函数fdiscont是用数值法寻找在实数域上的间断点. 命令格式
为:
fdiscont(f, domain, res, ivar, eqns); 其中, f表示表达式或者, domain表示要求的区域, res表示要求的分辨率, ivar表示独立变 量名称, eqns表示可选方程.
> fdiscont(GAMMA(x/2), x=-10..0, 0.0001);
- 36 -
2 导数和微分
2.1 符号表达式求导
利用 Maple 中的求导函数 diff 可以计算任何一个表达式的导数或偏导数, 其惰性形 式 Diff 可以给出求导表达式, $表示多重导数. 求 expr 关于变量 x1, x2, …, xn 的(偏)导数
的命令格式为:
diff(expr, x1, x2, …, xn);
D 运算符并不局限于单变量函数, 一个带指标的 D 运算符 D[i](f)可以用来求偏导函 数, D[i](f)表示函数 f 对第 i 个变量的导函数, 而高阶导数 D[i,j](f)等价于 D[i](D[j](f)).
相关文档
最新文档