MATLAB偏微分方程求解课件备课讲稿

上传人:youn****329 文档编号:132949896 上传时间:2020-05-22 格式:PPT 页数:46 大小:1.34MB
返回 下载 相关 举报
MATLAB偏微分方程求解课件备课讲稿_第1页
第1页 / 共46页
MATLAB偏微分方程求解课件备课讲稿_第2页
第2页 / 共46页
MATLAB偏微分方程求解课件备课讲稿_第3页
第3页 / 共46页
MATLAB偏微分方程求解课件备课讲稿_第4页
第4页 / 共46页
MATLAB偏微分方程求解课件备课讲稿_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《MATLAB偏微分方程求解课件备课讲稿》由会员分享,可在线阅读,更多相关《MATLAB偏微分方程求解课件备课讲稿(46页珍藏版)》请在金锄头文库上搜索。

1、题目 用MATLAB求解偏微分方程 主讲人 班级 时间 基础知识预习 微分方程的 求解包含 常微分方程的 求解 上节课已经讲过 这里不再赘述 偏微分方程的 求解 本次教学内容 求解偏微分方程的方法 求解偏微分方程的数值方法 1 有限元法 FiniteElementMethod FEM hp FEM2 有限体积法 FiniteVolumeMethod FVM 3 有限差分法 FiniteDifferenceMethod FDM 其它 广义有限元法 GeneralizedFiniteElementMethod FFEM 扩展有限元法 eXtendedFiniteElementMethod XFEM

2、 无网格有限元法 MeshfreeFiniteElementMethod 离散迦辽金有限元法 DiscontinuousGalerkinFiniteElementMethod DGFEM 等 MATLAB解偏微分方程 MATLAB提供了两种方法解决PDE问题 pdepe 函数 它可以求解一般的PDEs 具有较大的通用性 但只支持命令行形式调用 PDE工具箱 可以求解特殊PDE问题 PDEtool有较大的局限性 比如只能求解二阶PDE问题 并且不能解决偏微分方程组 但是它提供了GUI界面 从繁杂的编程中解脱出来了 同时还可以通过File SaveAs直接生成M代码使用pdeval 直接计算某个点

3、的函数值 一般偏微分方程组 PDEs 的MATLAB求解 直接求解一般偏微分方程 组 它的调用格式为sol pdepe m pdefun pdeic pdebc x t 问题描述函数 初值条件 边界条件 输出参数 自变量 参数 输入参数 1 pdefun 是PDE的问题描述函数 它必须换成下面的标准形式PDE就可以编写下面的入口函数 c f s pdefun x t u du m x t就是对应于 式1 中相关参数和自变量 du是u的一阶导数 由给定的输入变量即可表示出出c f s这三个函数 输入参数 2 pdeic 是PDE的初值条件 必须化为下面的形式我们使用下面的简单的函数来描述为u0

4、pdeic x 输入参数 3 pdebc 是PDE的边界条件描述函数 必须先化为下面的形式于是边值条件可以编写下面函数描述为 pa qa pb qb pdebc x t u du 其中a表示下边界 b表示下边界 输入参数 4 m 就是对应于 式1 中相关参数x t 就是对应于 式1 中自变量 输出参数 sol 是一个三维数组 sol i 表示ui的解 换句话说uk对应x i 和t j 时的解为sol i j k 实例讲解 题目 例 初值条件 边界条件 实例讲解 解法 解 第一步根据 1 对照给出的偏微分方程 则原方程可以改写为 输入参数 1 目标PDE函数 目标PDE函数function c

5、f s pdefun x t u du c 1 1 f 0 024 du 1 0 17 du 2 temp u 1 u 2 s 1 1 exp 5 73 temp exp 11 46 temp 输入参数 2 初值条件 初值条件改写为 初值条件函数functionu0 pdeic x u0 1 0 输入参数 3 边界条件 边界条件改写为 边界条件函数function pa qa pb qb pdebc xa ua xb ub t a表示左边界 b表示右边界pa 0 ua 2 qa 1 0 pb ub 1 1 0 qb 0 1 4 主调函数 clcx 0 0 05 1 t 0 0 05 2 m 0

6、 sol pdepe m pdefun pdeic pdebc x t figure numbertitle off name PDEDemo byMatlabsky 创建个窗口 窗口名字是name后边的名字 NumberTitle off 是关掉默认显示名字 subplot 211 surf x t sol 1 sol i 表示ui的解title TheSolutionofu 1 xlabel X ylabel T zlabel U subplot 212 surf x t sol 2 sol i 表示ui的解title TheSolutionofu 2 xlabel X ylabel T

7、zlabel U PDEtool求解特殊PDE问题 MATLAB的偏微分工具箱 PDEtoolbox 可以比较规范的求解各种常见的二阶偏微分方程 特殊二阶的PDE 典型偏微分方程的描述 3 双曲线型偏微分方程的一般形式 4 特征值型偏微分方程的一般形式 注意它是 1 的变形 不能算独立的一类 MATLAB采用有限元的方法求解各种PDE MATLAB为我们提供一个pdetool 在commandwindow中键输pdetool打开 的交互界面 可以求解二元偏微分u x1 x2 注意只能求解二元 方程的参数由a c d和f确定 求解域由图形确定 求解域确定好后 需要对求解域进行栅格化 这个是自动

8、偏微分方程边界条件的描述 Dirichlet 狄利克莱 条件Neumann 纽曼 条件 求解实例 解 由给定的PDE 可以得出d 1 c 1 a 2 f 10 step1 点击工具栏的 PDE 按钮 如下输入PDE的参数 注意选择Hyperbolic step2 绘制求解域对坐标轴的操作可以在 Options 主菜单中操作 包括设置网格 坐标系范围等 1 Options AxisLimits设置如下 2 点击工具栏上的第三个按钮 绘制椭圆 任意绘制一个椭圆 双击椭圆 设置如下 重复上面的操作 参数如下 得到 3 在setformula中如下输入 表示求并集 表示求差集 注意没有直接求交接的操作

9、符 step3 边界条件和初值条件 初值条件可以通过 Solve Parameters 设置边值条件设置如下 1 点击工具栏的第6个按钮 区域边界 显示如下 2 Boundary RemoveAllSubdomainBorders 移除所有子域的边界 将得到所有子域合并成一个求解域 3 Boundary SecifyBoundaryConditons 设置边界如下 注意我们这里只有Dirichlet条件 step4 生成使用有限元方法求解方程所需的栅格 点击工具栏的第8 9个按钮 对求解域生成栅格 多次点击可以在原来基础上继续细化栅格 直到自己觉得满意为止 当然可以通过 Mesh 主菜单进行精

10、确控制 step5 求解方程点解工具栏的第10个按钮 求解方程 step6 求解结果绘图点击第11个按钮 绘制图形 里面的选项很丰富 可以绘制等高线等好多 甚至播放动画 具体大家可以自己慢慢摸索 动画播放设置 1 Solve Parameters 设置合适的时间向量Time 2 Plot Parameters 选中 Animation 点击后面的 Options 设置播放速度和次数 比如6fps表示每秒6帧 3 Plot ExportMovie 输入动画保存的变量名 比如M 4 在CommandWindows中直接输入movie M 即可播放 5 使用movie2ve M demo avi 命令可以将动画保存为avi文件 播放完毕 谢谢大家

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号