使用Maple求解微分方程三
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、方向场与积分曲线
1. 方向场: 对于形如dx(t)/dt=f(t, x)的微分方程, 可在没有求得其精确解的情况下, 用绘图的方式 得到解的一些信息。这是因为, 若得到解曲线上 的一些初始数据, 比如初始条件或边界条件(t0, x0), 就可找到上述方程的解x(t)在该点的斜率 f(t0, x0). 若找到的点数足够多, 则在相关区域内可以看 出微分方程解的趋势。如此绘出的图形称为它的 方向场(direction field)。
3. “数学实验”与“数学建模” “数学实验”与“数学建模”, 均以创新能力培 养为目标, 但侧重点不同, 数学建模强调在“应用 ”数学的过程中培养能力, 而数学实验旨在引导学 习者借助数学软件理解抽象的数学理论、自主探 索和研究数学问题以及数学的应用问题的过程, 强 调在“探索”过程中学习数学并培养能力。因此, 它们的特点和区别是: 数学实验= 探索+创新; 数学建模= 应用+创新
求解微分方程 dy/dx=1+(yx)2 的近似解, 初值为y(0)=0.5
上面的Maple程序Euler0在使用时有不便之处, 比 如它以右侧的函数F为参数, 不是以微分方程作为 参数的。下面的程序Euler弥补了这一不足:
使 用 程 序 Euler 求 dy/dx=2y 的近似解, 初值y(0)=1.
xn+1=xn+h, yn+1=yn+hF(xn, yn). 下面的Maple程序Euler0是欧拉算法的一个实 现, 其中函数F, 初始时刻x0, 初始位置y0, 步长h, 步数N是程序参数。
使 用 程 序 Euler0 求 解微分方程初值问 题 { dy/dx = 2y, y(0)=1 } 的近似解.
使用odeplot命 令绘制由dsolve 得到的微分方
程解曲线
实际上, 在dsolve命令中指定参数method=classical [foreuler], 即可按Euler方法求数值解。在下面的 例子中, 选用不同的步长按Euler方法求同一微分 方程的数值解, 并用图示比较所得结果:
第十五讲 微分方程实验指南(1)
宁波大学 陶祥兴等 编
高等教育电子音像出版社
本节内容提要
一、数学实验概述 二、使用Maple求解微分方程 三、方向场与积分曲线 四、欧拉折线法与数值解
一、数学实验概述
1. 什么是数学实验 所谓“数学实验”, 就是从问题(数学本身的 问题或实际应用问题)出发, 借助计算机, 通过 学习者亲自设计与动手操作, 学习、探索和发现 数学规律, 或运用现有的数学知识分析和解决实 际问题的过程。换言之 “数学实验”就是学习者自主探索数学知识及 其实际应用的实践过程。
红色曲线表示 x(t), 绿色曲线表示 y(t)
随着t的增 大, 方程组 的解围绕
在一个半 径为1的圆 上(此圆通 常称为极 限圆)
取不同的 初值条件, 方程组的 解同样围 绕在半径 为1的圆 上(极限圆 又称极限 环)
Lorenz 微 分方程产 生吸引子 (紧紧地 把解的图 形吸在一 起)
下面对前述用Euler方法求解的例子使用dsolve命 令求其数值解, 试比较两种方法所得结果:
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);
导命令
2. 使用dsolve命令求解微分方程 使用Maple的dsolve命令可以得到微分方程的 解。如果指定初始或边界条件, Maple将尝试找到 一个特解; 否则将给出一般解。
求解结果中_Cห้องสมุดไป่ตู้ 表示自由常量
通过添加初始条 件得到特解
3. 绘制解曲线 dsolve命令得到的解, 系统以等式形式显示, 可 使用unapply命令将其转换为函数形式。之后, 就 可以使用绘图命令(比如plot)绘制解曲线, 比如:
二、使用Maple求解微分方程
1. 在Maple中表示微分方程
在Maple中, 表示一个微分方程较好的方法是用
Maple的赋值语句为其指定一个惟一的名字。比
如:
在Maple中因变量必须连同它的自变 量一起出现, 即x(t)不能简写为x
使用ode表示 微分方程
x(t) = k x(t) 其中diff是求
在下面的例子中, 分别令N=2, 4, 8, 应用上面的
Maple程序Euler, 求解下述初值问题在区间[1, 2]
的近似解:
dy dt
sin
t
y
3
y(1) 2
应用程序Euler之前 的一些准备工作
2.用dsolve求数值解: Maple的dsolve命令可以用来 求微分方程的数值解, 只需加入参数选项 numeric
Maple在程序包DEtools中提供了命令dfieldplot(), 用来绘制微分方程的方向场, 这将有助于直观地 了解微分方程解的趋势, 参见下面的例子:
2. 方向场与积分曲线动画
四、欧拉折线法与数值解
1. 欧拉方法 对于如下的微分方程初值问题
dy/dx=F(x, y(x)), y(x0)=y0 欧拉方法可用下述递推公式表示
左图是一个特 解的曲线。可 以将一组解曲 线(解曲线簇) 绘制在一起, 见下页图示。
assign命令 用来将一个 等式转换为 一个赋值.
4. 求解微分方程组 Maple的dsolve命令可用来求解微分方程组, 通 常可以得到解析解, 当无法得到精确解时(特别是 高阶非线性微分方程组), 可尝试求其数值解。
2. 数学实验的作用 (1)借助软件验证数学知识与结论, 加深对数学 概念与数学理论的理解和认识(比如应用软件的图 形和动画等直观、可视化功能)。 (2)借助计算机自主探索数学问题的求解方法,自 行发现数学规律 (应用计算机的数值计算、符号计 算及推理功能等) 。 (3)应用数学知识、借助计算工具, 探索解决实 际应用问题, 以提高数学素养、培养创新能力。