使用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、常⽤函数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使用教程
数学软件 Maple 使用教程作者:dell|dhqcl@转贴自:数学实验数学软件 Maple 使用教程序言一.什么是数学实验? 什么是数学实验? 我们都熟悉物理实验和化学实验,就是利用仪器设备,通过实验来了解物理 现象、化学物质等的特性。
同样,数学实验也是要通过实验来了解数学问题的特性并解决对应的数学问 题。
过去, 因为实验设备和实验手段的问题, 无法解决数学上的实验问题, 所以, 一直没有听说过数学实验这个词。
随着计算机的飞速发展,计算速度越来越快, 软件功能也越来越强,许多数学问题都可以由计算机代替完成,也为我们用实验 解决数学问题提供了可能。
数学实验就是以计算机为仪器,以软件为载体,通过实验解决实际中的数学 问题。
二.常用的数学软件 目前较流行的数学软件主要有四种: 1. MathACD 其优点是许多数学符号键盘化,通过键盘可以直接输入数学符号,在教学 方面使用起来非常方便。
缺点是目前仅能作数值运算,符号运算功能较弱,输出 界面不好。
2. Matlab 优点是大型矩阵运算功能非常强,构造个人适用函数方便很方便,因此,非常适 合大型工程技术中使用。
缺点是输出界面稍差,符号运算功能也显得弱一些。
不 过, 在这个公司购买了 Maple 公司的内核以后, 符号运算功能已经得到了大大的 加强。
再一个缺点就是这个软件太大,按现在流行的版本 5.2,自身有 400 多兆,占硬盘空间近 1 个 G,一般稍早些的计算机都安装部下。
我们这次没用它主要就 是这个原因。
3. Mathematica 其优点是结构严谨,输出界面好,计算功能强,是专业科学技术人员所喜爱的 数学软件。
缺点是软件本身较大,目前流行的 3.0 版本有 200 兆;另一个缺点就 是命令太长,每一个命令都要输入英文全名,因此,需要英语水平较高。
4. Maple 优点是输出界面很好,与我们平常书写几乎一致;还有一个最大的优点就 是它的符号运算功能特别强,这对于既要作数值运算,又要作符号运算时就显得 非常方便了。
matlab怎么求三次微分,matlab课设三阶微分方程多种方法求解.doc
matlab怎么求三次微分,matlab课设三阶微分⽅程多种⽅法求解.docmatlab课设三阶微分⽅程多种⽅法求解⽬录⼀、课程设计题⽬及意义———————— 1 页⼆、课程设计任务及要求————————2 页三、课程设计详细过程及结果————————3⾄10页四、课程设计体会————————10⾄11页华东交通⼤学09软件+电⽓4班陈忱课程设计题⽬:⽤三种以上⽅法求解三阶微分⽅程课程设计⽬的及意义:通过使⽤多种⽅法求解三阶微分⽅程可以熟悉matlab中各种数学计算⽅法,例如数值型⽅法,符号⽅法,建⽴数学模型的⽅法。
⾸先数学计算⽅法在⼯程应⽤中⼗分⼴泛,使⽤matlab编程,往往只要⼏个语句就可以求解任务,具有效率⾼,使⽤⽅便的特点,通过课程设计我们可以充分体验到。
Matlab符号计算是通过集成在matlab中的符号运算⼯具箱的Maple软件的基础上,使⽤符号计算可以获得⽐数值计算更⼀般的结果,获得的结果以变准的符号形式来表现。
数学模型的⽅法是通过Simulink系统仿真来实现,它提供了图形⽤户界⾯,操作简单,内容丰富,可以根据⽤户的不同输⼊很⽅便的得到仿真结果,这些都可以在课程设计中来具体操作实现,让我们对matlab强⼤的数学计算功能有个更深刻详细的认识。
课程设计任务及要求:假设微分⽅程为三阶的如:y’’’(t)+0.2y’’(t)+0.4y’(t)+0.8y(t) = 0.5u(t),其中u(t)为单位斜坡函数。
分别⽤数值型⽅法,符号⽅法,建⽴数学模型的⽅法解之。
其中建⽴数学模型仿真的⽅法要⽤三种⽅法:传递函数法,状态⽅程⽅法以及时域分析法。
并分别⽤⽰波器或图形观测窗⼝显⽰输出与输⼊图形。
课程设计过程:1数值型⽅法步骤:1:在Matlab下输⼊:editfunction DYDt=amanm(t,Y)y=Y(1);dydt=Y(2);d2ydt2=Y(3);DYDt=[Y(2);Y(3);0.5-0.8*y-0.4*dydt-0.2*d2ydt2];3:保存.m⽂件;4:在Matlab命令⾏下⾯输⼊:t_start=0;t_end=20;yy0=[0;0;0]; %初值[t,y]=ode45('amanm',[0,t_end],yy0); % ode45是⽤4阶⽅法提供候选解,5阶⽅法控制误差,是⼀种⾃适应步长的⽅法。
Maple-ch-常微分方程
1 / 20第四章 微分方程§4.1 常微分方程4.1.1 常微分方程的解析解1. 函数dsolve 在微分方程中的应用在Maple 中,这是一个用途最广的函数——称为通用函数吧,几乎可以求解所有的微 分方程和方程组,既能求解解析解,也能求解数值解,本节只介绍其求微分方程的解析解中的作用:dsolve (ODE);dsolve (ODE,y(x),extra_args);其中,ODE(Ordinary Differential Equation)是一个常微分方程; y(x)为未函数,求解时这个参数可以省略;第三个参数extra_args 是一个可选的参数,主要用来设置最后解析解的形式或求解过程中一些积分的设置,它的选值很广,这里仅举几个参数。
(1) explicit: 求出显式解; (2) implicit: 解可以是隐式;(3) useInt: 运算中用“Int ”函数代替“int ”函数,可加快运算速度; (4) parametric: 将最后的解析解表达成另外一个自变量的形式。
这些参数的位置很灵活,可以放在除第一个参数位置外的任何位置,并且它们的组合 也很灵活,可以单独作用,也可几何参数合用,只要在中间用逗号隔开,而且参数并不一定需要写在一起,也可以分开。
> eq:='eq': eq:=diff(y(x),x)*(1+y(x)^2)+cos(x)=0; 可以两端都不是零:= eq = + ⎛⎝ ⎫⎭⎪⎪∂()y x () + 1()y x 2()cos x 0 > sol1:=dsolve(eq,explicit); 给出显式解sol1()y x =:= 12- ()- - + 12()sin x 12_C12 - + + 3418()cos 2x 72()sin x _C136_C12()/234()- - + 12()sin x 12_C12 - + + 3418()cos 2x 72()sin x _C136_C12()/13,其中“_C 1”表示第一个任意常数。
maple解方程组命令
maple解方程组命令使用Maple解方程组的命令是一种快速且准确的方法,可以帮助我们解决复杂的数学问题。
Maple是一种强大的数学软件,它可以用来进行数值计算、符号计算、绘图等多种数学运算。
在这篇文章中,我们将探讨如何使用Maple解方程组,并给出一些实际应用的例子。
在Maple中,解方程组的命令是`fsolve`。
`fsolve`函数可以用来求解多个非线性方程组,它的语法如下:```fsolve({equations}, {variables})```其中,`equations`是一个包含多个方程的集合,`variables`是方程中的未知数。
通过这个命令,Maple可以找到方程组的解,并将解返回给用户。
下面我们来看一个简单的例子。
假设我们有一个方程组:```x + y = 5x - y = 1```我们可以使用Maple来解这个方程组。
首先,我们需要定义方程组的变量:```x, y := fsolve({x + y = 5, x - y = 1}, {x, y})```然后,我们可以通过打印变量的值来得到方程组的解:```print(x, y)```运行这段代码后,Maple会输出方程组的解,即x=3,y=2。
这样,我们就成功地用Maple解决了这个方程组。
除了这个简单的例子,我们还可以使用Maple来解决更复杂的方程组。
例如,假设我们有一个由三个方程组成的方程组:```x^2 + y^2 + z^2 = 1x + y + z = 2x - y + z = 0```我们可以使用`fsolve`命令来解这个方程组:```x, y, z := fsolve({x^2 + y^2 + z^2 = 1, x + y + z = 2, x - y + z = 0}, {x, y, z})```然后,我们可以打印变量的值来得到方程组的解:```print(x, y, z)```运行这段代码后,Maple会输出方程组的解,即x=1,y=0,z=1。
数学软件Maple在常微分方程教学中的应用
作者简介 : 李姝敏 ( 1 9 7 9一) , 女, 内蒙古赤峰人 , 硕士 , 讲师 , 研 究方向 : 孤 立子理 论与可积 系统及其应 用。
55
定 对应 的 函数 Y ( ), 也 可得 到 微 分 方程 ( 2 ) 一 个 的
在 常微 分 方 程 的 教材 中 , 首 先 要 介 绍初 等 积 分 法 求解 一 阶 常微分 方程 ( 教材第二章 ) , 即将 微 分 方 程求解 问题转 化 为积分 问题 。虽然 不是 所有 的微 分
收稿 日期 : 2 0 1 3—1 0— 2 3
基金项 目: 国家 自然科 学基金 的项 目( 1 1 2 6 1 0 3 5 ) , 内蒙古 自然科学基 -  ̄ , . ( 2 0 1 2 MS 0 1 0 2 ) , 内蒙古教 育厅 高等 学校科研 项
例 1求 解一 阶 常微 分方程
:
d
2 —y
。
( 1 )
并 画 出该 方程 的方 向场 和积 分 曲线 。 解: ( 一) 求 解 采 用 用软 件 Ma p l e的 d s o l v e 命 令
s o l u t i o n := d s o l v e( d i f( Y ( ) , ) = 2 Y ( ) , Y ( ) ) ; 结 果 为 s o l u t i o n : =Y ( ) =一2+2 +e 一 C 1 —
方 程都 可 以利 用初 等 积 分 法 求 解 , 但 是 也 反 映 了微
分方程的相 当一部分 , 因此是微分方程求解 的基础。
在 第一 章第 三 节介 绍微 分方 程 的积分 曲线 , 等倾 线 , 方 向场 等概 念 时 , 对 于初 次 接 触 常 微 分 方程 的学 生 来说 , 几 乎 都不 理解 , 这 也会 影 响学生 的积 极性 和学 习兴趣 。如果将 数 学 软件 Ma p l e应 用 于 教 学 , 就 比 较 形象 和 直观 , 也 便 于 学 生 的 理解 。下 面通 过 一 个
怎样利用Maple对方程进行求解
怎样利用Maple对方程进行求解
Maple的运算功能非常强大,在运算时能够解决各种各样的数学问题,对于一般的函数而言能够解决,同样的,也能够对方程进行求解。
下面介绍Maple求解方程的一些命令。
Maple解方程时经常用到下面几个命令:
solve(方程,未知数);fsolve(方程,未知数,选项);解数值解
选项:plex复数域上求根,2.fulldigits保持精度,3.maxsols=n求n个解,4.范围。
一.一元方程(省略“=”号为=0)
二.方程组
三.数值解
四.多项式分解因式、函数展开、合并、化简、转换:
factor(多项式,k),expand(函数),combine(函数),simplify(表达式),convert(表达式,形式,选项),取分子numer(分式),取分母denom(分式)
以上内容向大家介绍了Maple求解方程的常见命令格式,Maple对于一般的函数和方程都能够进行求解,甚至是复杂的方程也能进行求解,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 参数项指定。
数学软件Maple在微分方程中的几点应用
数学软件Maple在微分方程中的几点应用
作者:元艳香郭顺超彭忠鸿
来源:《科技视界》2017年第15期
【摘要】本文简单介绍了数学软件Maple在常微分方程中的几点应用,通过用Maple可以求解一般类型及较复杂的微分方程,并且可用该软件画出解的积分曲线图形,分析解的情况等,为学习和研究微分方程提供了有利帮助。
【关键词】数学软件Maple;常微分方程;应用
The Application of the Mathematical Software Maple in Ordinary Differential Equation
YUAN Yan-xiang GUO Shun-chao PENG Zhong-hong
【Abstract】This paper introduces the application of the mathematical software of Maple in ordinary differential equation simply,to solve its the common types and can use the software to draw graphics, analysis the situation of the solution by using Maple, in order to offer an effective tool for learning and researching ordinary differential equation.
【Key words】Mathematical Software Maple; Ordinary Differential Equation; Application。
(仅供参考)Maple提高教程B3- Maple中的偏微分方程求解
B3: Maple中的偏微分方程求解西希安工程模拟软件(上海)有限公司,200811.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;(1)(2)if not type(h,'procedure') then var := indets(h,'name');if nops(var) <> 1 then error "need to specify a variable"; end if; var := op(var); end if;else L := lhs(rhs(g));D := rhs(rhs(g)) - L;var := lhs(g); end if;if type(h,'procedure') then proc(x::algebraic) h(x - floor((x-L)/D)*D); end; else proc(x::algebraic) eval(h, var = x - floor((x-L)/D)*D); end; end if;end:11.1.2 数值解和图形解一个空间变量的波动方程是:假设初始形状由下面的函数给出:对应的图形如下:(4)(3)Maple中的命令pdsolve 将求解单变量演化方程(双曲和抛物)的数值解(有限差分)。
第5章 微分方程(Maple)
第5章微分方程5.1 常微分方程5.1.1 常微分方程的求解和作图命令z 求解微分方程命令dsolve在微分方程中,我们称只有一个自变量的微分方程为常微分方程,具有两个或两个以上自变量的微分方程为偏微分方程。
例如:描述物体冷却过程的数学模型)(0u u k dtdu−−= 含有自变量t 、未知函数u 以及一阶导数dudt,是一个常微分方程。
Maple 中求解常微分方程的命令为dsolve 函数,其用法有dsolve (常微方程)dsolve (常微方程,待解函数,选项)dsolve ({常微方程,初值},待解函数,选项) dsolve ({常微方程组,初值},{待解函数},选项)z 方程数值解作图命令odeplot要做出常微分方程数值解的图象,请使用odeplot 函数。
odeplot 在程序包plots 中,可通过with(plots)或plots[odeplot]调出。
odeplot (数值解,被绘函数,参数范围,选项)5.1.2 一阶常微分方程z 可分离变量方程若一阶微分方程有形式)()(y g x f dxdy=,则称为可分离变量方程。
一般可以通过对方程dx x f y g dy)()(=两边分别积分,得到方程的隐式解。
例:求解微分方程sin()'()sin()x y x y =。
> eq:=diff(y(x),x)=sin(x)/sin(y(x));显然,这是可分离变量的常微分方程。
用Detools 程序包中的odeadvisor 函数检测方程的类型,输出结果_separable 说明方程类型是可分离变量的。
> DEtools[odeadvisor](eq);[_separable]用dsolve 函数求解方程,得到方程的通解。
> dsolve(eq);设定选项implicit ,得到方程的隐式解。
> dsolve(eq,implicit);附加初始值y(0)=1,得到方程的准确解。
Maple微分方程的求解
题目:微分方程的求解——基于Maple工具姓名:学号:专业:学科:老师:目录一、简介 (3)概况: (3)Maple 主要技术特征: (3)1. 强大的求解器:数学和分析软件的领导者 (3)2. 技术文件环境:重新定义数学的使用性 (4)3. 知识捕捉:不仅是工具,更是知识 (4)4. 外部程序连接:无缝集成到您现有的工具链中 (4)二、Maple在微分方程中的应用 (5)1、常用函数 (5)1)求解常微分方程的命令dsolve. (5)2)求解一阶线性常微分方程的命令linearsol. (5)3)偏微分方程求解命令pdsolve. (6)2、方法 (6)1)一阶常微分方程的解法 (6)2)二阶线性常微分方程的解法 (7)3、作图 (8)1)常微分方程数值解作图命令odeplot (8)2)偏微分方程作图命令PDEplot (8)三、各种方程的求解 (8)第一部分:一阶常微分方程 (8)1、可分离变量方程 (8)2、齐次方程 (9)3、线性方程 (10)4、Bernoulli方程 (10)第二部分:二阶线性常微分方程 (11)1、二阶常系数线性齐次方程 (11)2、二阶常系数线性非齐次方程 (12)3、Euler方程(变系数) (12)第三部分:偏微分方程 (13)1、波动方程 (13)2、热传导方程 (14)3、作图 (14)四、总结 (15)一、简介概况:Maple是目前世界上最为通用的数学和工程计算软件之一,在数学和科学领域享有盛誉,有“数学家的软件”之称。
Maple 在全球拥有数百万用户,被广泛地应用于科学、工程和教育等领域,用户渗透超过96%的世界主要高校和研究所,超过81%的世界财富五百强企业。
Maple系统内置高级技术解决建模和仿真中的数学问题,包括世界上最强大的的符号计算、无限精度数值计算、创新的互联网连接、强大的4GL语言等,内置超过5000个计算命令,数学和分析功能覆盖几乎所有的数学分支,如微积分、微分方程、特殊函数、线性代数、图像声音处理、统计、动力系统等。
用Maple计算简单的微分操作
用Maple计算简单的微分操作
在利用Maple解决数学问题时,更多的是因为Maple符号计算的强大功能。
利用Maple可以完成符号和数值微分计算。
下面介绍常见的Maple微分命令。
更多Maple基本功能与常用操作命令介绍请访问Maple中文版网站。
对表达式求微分:
1)在左侧的表达式面板中,点击微分项,或者偏微分项。
2)定义表达式和自变量,然后求值。
例如,求xsin(ax)关于x的微分:
用户也可以使用右键菜单求微分。
想要计算高阶或偏微分,需要编辑插入的微分符号。
例如,计算xsin(ax)+x2关于x的二阶微分:
计算xsin(3x)+yx5的混合偏导数:
注意:想要插入偏导符号,用户可以通过拷贝和粘帖已有的符号,或者输入字母d然后按ESC符号补全。
diff命令:
Maple使用diff命令对表达式求微分。
通常的用法是diff(expr,var),其中var是要求微分的变量。
例如:
用户可以通过定义一组微分变量计算高阶微分。
Maple递归地调用diff 命令。
想要计算偏微分,使用相同的语法。
Maple会假设为偏微分计算。
如果要对一个变量多次求导,可以使用diff(f,x$n),它实际上是一种缩写的形式,n代表变量x重复的次数。
这个语法也可以用于计算符号nth阶微分。
以上内容向大家介绍了Maple符号计算中有关微分的一些使用,这些常见的Maple微分命令是大家经常使用的,熟记在心后会使处理问题快捷很多。
如果需要了解更多Maple基本操作,可以参考教程:怎样用Maple键盘命令解决数学问题。
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- - 1212I 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- + 1ea 对于第二个参数, 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 72x 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但是, 大量实验表明, solve 的确是一个实用的方程求解工具, 但是也不可盲目相信它给出的一切结果, 特别是对于非线性方程而言, 对于给出的结果需要加以验证.下面通过几个例子说明在Maple 中非线性方程组的求解问题.例:求解方程组:⎩⎨⎧=-=+yx y x 925222> eqns:={x^2+y^2=25,y=x^2-5};:= eqns {}, = y - x 25 = + x 2y 225> vars:={x,y};:= vars {},x y> solve(eqns,vars);,,,{}, = x 0 = y -5{}, = x 0 = y -5{}, = y 4 = x 3{}, = y 4 = x -3也可用下面的语句一步求出:> solve({x^2+y^2=25,y=x^2-5},{x,y});,,,{}, = x 0 = y -5{}, = x 0 = y -5{}, = y 4 = x 3{}, = y 4 = x -3这个问题非常简单, 但通常遇到的非线性问题却不是这么简单, 例如要求解方程组:yx y x y x -=+=+,122> eqns:={x^2+y^2=1,sqrt(x+y)=x-y};vars:={x,y};:= eqns {}, = + x 2y 21 = + x y - x y:= vars {},x y> sols:=solve(eqns,vars);sols = y ()RootOf , + + 2_Z 24_Z 3 - -1.000000000.7071067812I ,{ := = x - - ()RootOf , + + 2_Z 24_Z 3 - -1.000000000.7071067812I 2}{}, = x 1 = y 0,可以看出, 方程解的形式是以集合的序列给出的, 序列中的每一个集合是方程的一组解, 这样就很利于我们用subs 把解代入原方程组进行检验:> subs(sols[2],eqns);{} = 11> sols2:=allvalues(sols[1]);:= sols2{}, = x - + 112I 2 = y - - 112I 2> simplify(subs(sols2,eqns));{}, = I 2I 2 = 111.2 其他求解工具1.2.1 数值求解对于求代数方程的数值解问题, Maple 提供了函数fsolve , fsolve 的使用方法和solve很相似:fsolve(eqns, vars, options);其中, eqns 表示一个方程、方程组或者一个程序, vars 表示一个未知量或者未知量集合,options 控制解的参数(诸如:complex: 复根; maxsols=n :只找到n 阶最小根; intervals :在给定闭区间内求根, 等).> fsolve(x^5-x+1,x);-1.167303978> fsolve(x^5-x+1,x,complex);-1.167303978 - -.1812324445 1.083954101I + -.1812324445 1.083954101I - .7648844336.3524715460I ,,,,+ .7648844336.3524715460I> fsolve(x^3-3*x+1,x,0..1);.3472963553对于多项式方程, fsolve 在默认情况下以给出所有的实数解, 如果附加参数complex , 就可以给出所有的解. 但对于更一般的其他形式的方程, fsolve 却往往只满足于得到一个解: > eqn:=sin(x)=x/2;:= eqn = ()sin x 12x> fsolve(eqn);0.> fsolve(eqn,x,0.1..infinity);1.895494267> fsolve(eqn,x,-infinity..-0.1);-1.895494267函数fsolve 主要基于两个算法, 通常使用牛顿法, 如果牛顿法无效, 它就改而使用切线法. 为了使fsolve 可以求得所有的实根, 我们通常需要确定这些根所在的区间. 对于单变量多项式, 函数realroot 可以获得多项式的所有实根所在的区间.> 4+6*x+x^2-x^3-4*x^5-2*x^6+x^7;+ + - - - + 46x x 2x 34x 52x 6x 7> realroot(%);[],,[],02[],24[],-2-1函数realroot 还有一个可选参数, 它是用来限制区间的最大长度的, 为了保证使用数值求解方法时收敛, 我们可以用它限制区间的最大长度:> realroot(%%,1/1000);⎡⎣⎢⎢⎤⎦⎥⎥,,⎡⎣⎢⎢⎤⎦⎥⎥,11951024299256⎡⎣⎢⎢⎤⎦⎥⎥,331310241657512⎡⎣⎢⎢⎤⎦⎥⎥,-633512-12651024求解方程或方程组的整数解时使用函数isolve , 它常常被用来求解不定方程. 例如著名的“百钱买百鸡”问题♣的求解过程为:> isolve({x+y+z=100,5*x+3*y+z/3=100});{},, = z + 753_Z1 = x 4_Z1 = y - 257_Z1据此可得满足该问题的三组解为:{x, y , z}={4, 18, 78}, {x, y , z}={8, 11, 81}, {x, y, z}={12, 4, 84}1.2.2 整数环中的方程(组)求解利用Maple 中的函数msolve(eqns, vars, n), 可以在模n 的整数环中求解方程(组)eqns.例:在Z 7中求解Pell 方程2837-=x y> msolve(y^7=x^3-28,7);{}, = x 3 = y 6{}, = x 4 = y 1{}, = y 0 = x 0{}, = x 1 = y 1{}, = y 6 = x 6,,,,,{}, = x 2 = y 1{}, = y 6 = x 5, 再如下例:> msolve(y^4=x^3+32,5);,,,,{}, = x 2 = y 0{}, = x 4 = y 1{}, = x 4 = y 2{}, = x 4 = y 3{}, = x 4 = y 41.2.3 递归方程的求解在Maple 中, 可以求解有限差分方程(也称递归方程), 所需调用的函数是rsolve , 该函数使用的是一些比较通用的方法, 例如产生函数法、z 变换法以及一些基于变量替换和特征方程的方法. 作为例子, 求解Fibonacci 多项式:> eq:=f(n)=f(n-1)+2*f(n-2);:= eq = ()f n + ()f - n 12()f - n 2> rsolve({eq,f(0)=1,f(1)=1},f(n));+ 13()-1n 232n 当然, 并不是所有的递归形式的函数方程的解可以写成解析形式, 如果不能, Maple将保留原来的调用形式. 此时, 可用asympt 函数获得它的渐进表达式, 也就是1/n 的级数解. 例如, 对于一个具有超越形式的递归函数方程, 仍然可以得到解的渐进形式:> rsolve(u(n+1)=ln(u(n)+1),u(n));()rsolve , = ()u + n 1()ln + ()u n 1()u n> asympt(%,n,5);+ + + 21n+_C 23()ln n n 2 - + - + 1913_C 12_C 2⎛⎝ ⎫⎭⎪⎪- + 23_C 29()ln n 29()ln n 2n 3⎛⎝ ⎫⎭⎪⎪O 1n 41.2.4 不等式(组)求解求解一元不等式方程(组)使用命令solve : > solve((x-1)*(x-2)*(x-3)<0,x);,()RealRange ,-∞()Open 1()RealRange ,()Open 2()Open 3> solve((x-1+a)*(x-2+a)*(x-3+a) < 0, {x});,{} < x - 1a {}, < - 2a x < x - 3a> solve(exp(x)>x+1);,()RealRange ,-∞()Open 0()RealRange ,()Open 0∞> solve({x^2*y^2=0,x-y=1,x<>0});,{}, = y 0 = x 1{}, = y 0 = x 1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 数学实验的作用 (1)借助软件验证数学知识与结论, 加深对数学 概念与数学理论的理解和认识(比如应用软件的图 形和动画等直观、可视化功能)。 (2)借助计算机自主探索数学问题的求解方法,自 行发现数学规律 (应用计算机的数值计算、符号计 算及推理功能等) 。 (3)应用数学知识、借助计算工具, 探索解决实 际应用问题, 以提高数学素养、培养创新能力。
求解微分方程 dy/dx=1+(yx)2 的近似解, 初值为y(0)=0.5
上面的Maple程序Euler0在使用时有不便之处, 比 如它以右侧的函数F为参数, 不是以微分方程作为 参数的。下面的程序Euler弥补了这一不足:
使 用 程 序 Euler 求 dy/dx=2y 的近似解, 初值y(0)=1.
3. “数学实验”与“数学建模” “数学实验”与“数学建模”, 均以创新能力培 养为目标, 但侧重点不同, 数学建模强调在“应用 ”数学的过程中培养能力, 而数学实验旨在引导学 习者借助数学软件理解抽象的数学理论、自主探 索和研究数学问题以及数学的应用问题的过程, 强 调在“探索”过程中学习数学并培养能力。因此, 它们的特点和区别是: 数学实验= 探索+创新; 数学建模= 应用+创新
使用odeplot命 令绘制由dsolve 得到的微分方
程解曲线
实际上, 在dsolve命令中指定参数method=classical [foreuler], 即可按Euler方法求数值解。在下面的 例子中, 选用不同的步长按Euler方法求同一微分 方程的数值解, 并用图示比较所得结果:
二、使用Maple求解微分方程
1. 在Maple中表示微分方程
在Maple中, 表示一个微分方程较好的方法是用
Maple的赋值语句为其指定一个惟一的名字。比
如:
在Maple中因变量必须连同它的自变 量一起出现, 即x(t)不能简写为x
使用ode表示 微分方程
x(t) = k x(t) 其中diff是求
红色曲线表示 x(t), 绿色曲线表示 y(t)
随着t的增 大, 方程组 的解围绕
在一个半 径为1的圆 上(此圆通 常称为极 限圆)
取不同的 初值条件, 方程组的 解同样围 绕在半径 为1的圆 上(极限圆 又称极限 环)
Lorenz 微 分方程产 生吸引子 (紧紧地 把解的图 形吸在一 起)
在下面的例子中, 分别令N=2, 4, 8, 应用上面的
Maple程序Euler, 求解下述初值问题在区间[1, 2]
的近似解:
dy dt
sin
t
y
3
y(1) 2
应用程序Euler之前 的一些准备工作
2.用dsolve求数值解: Maple的dsolve命令可以用来 求微分方程的数值解, 只需加入参数选项 numeric
下面对前述用Euler方法所得结果:
x0:=0: h1:=0.1: N1:=10: x_list:=Array(1..N1+1,
i->x0+(i-1)*h1); dsolve({ode1,ic1}, y(x),
numeric, method=classical, stepsize=h1, output=x_list);
xn+1=xn+h, yn+1=yn+hF(xn, yn). 下面的Maple程序Euler0是欧拉算法的一个实 现, 其中函数F, 初始时刻x0, 初始位置y0, 步长h, 步数N是程序参数。
使 用 程 序 Euler0 求 解微分方程初值问 题 { dy/dx = 2y, y(0)=1 } 的近似解.
Maple在程序包DEtools中提供了命令dfieldplot(), 用来绘制微分方程的方向场, 这将有助于直观地 了解微分方程解的趋势, 参见下面的例子:
2. 方向场与积分曲线动画
四、欧拉折线法与数值解
1. 欧拉方法 对于如下的微分方程初值问题
dy/dx=F(x, y(x)), y(x0)=y0 欧拉方法可用下述递推公式表示
左图是一个特 解的曲线。可 以将一组解曲 线(解曲线簇) 绘制在一起, 见下页图示。
assign命令 用来将一个 等式转换为 一个赋值.
4. 求解微分方程组 Maple的dsolve命令可用来求解微分方程组, 通 常可以得到解析解, 当无法得到精确解时(特别是 高阶非线性微分方程组), 可尝试求其数值解。
第十五讲 微分方程实验指南(1)
宁波大学 陶祥兴等 编
高等教育电子音像出版社
本节内容提要
一、数学实验概述 二、使用Maple求解微分方程 三、方向场与积分曲线 四、欧拉折线法与数值解
一、数学实验概述
1. 什么是数学实验 所谓“数学实验”, 就是从问题(数学本身的 问题或实际应用问题)出发, 借助计算机, 通过 学习者亲自设计与动手操作, 学习、探索和发现 数学规律, 或运用现有的数学知识分析和解决实 际问题的过程。换言之 “数学实验”就是学习者自主探索数学知识及 其实际应用的实践过程。
三、方向场与积分曲线
1. 方向场: 对于形如dx(t)/dt=f(t, x)的微分方程, 可在没有求得其精确解的情况下, 用绘图的方式 得到解的一些信息。这是因为, 若得到解曲线上 的一些初始数据, 比如初始条件或边界条件(t0, x0), 就可找到上述方程的解x(t)在该点的斜率 f(t0, x0). 若找到的点数足够多, 则在相关区域内可以看 出微分方程解的趋势。如此绘出的图形称为它的 方向场(direction field)。
导命令
2. 使用dsolve命令求解微分方程 使用Maple的dsolve命令可以得到微分方程的 解。如果指定初始或边界条件, Maple将尝试找到 一个特解; 否则将给出一般解。
求解结果中_C1 表示自由常量
通过添加初始条 件得到特解
3. 绘制解曲线 dsolve命令得到的解, 系统以等式形式显示, 可 使用unapply命令将其转换为函数形式。之后, 就 可以使用绘图命令(比如plot)绘制解曲线, 比如: