五点差分法(matlab)解椭圆型偏微分方程
偏微分方程—matlab

基础知识偏微分方程的定解问题各种物理性质的定常(即不随时间变化)过程,都可用椭圆型方程来描述。
其最典型、最简单的形式是泊松(Poisson)方程),(2222y x f yux u u =∂∂+∂∂=∆ (1)特别地,当 f ( x , y ) ≡ 0 时,即为拉普拉斯(Laplace)方程,又称为调和方程02222=∂∂+∂∂=∆yux u u (2)带有稳定热源或内部无热源的稳定温度场的温度分布,不可压缩流体的稳定无旋流动及静电场的电势等均满足这类方程。
Poisson 方程的第一边值问题为⎪⎩⎪⎨⎧Ω∂=Γ=Ω∈=∂∂+∂∂=∆Γ∈),(),(),(),(),(2222y x y x u y x y x f y ux u u y x ϕ (3) 其 中 Ω 为 以 Γ 为 边 界 的 有 界区 域 , Γ 为 分 段 光 滑 曲 线, Ω U Γ 称 为 定 解区 域 ,f (x, y),ϕ(x, y) 分别为 Ω,Γ 上的已知连续函数。
第二类和第三类边界条件可统一表示成)0(0),(>=⎪⎭⎫⎝⎛+∂∂Γ∈a u n u y x α (4) 其中 n 为边界 Γ 的外法线方向。
当α = 0 时为第二类边界条件,α ≠ 0 时为第三类边界条件。
在研究热传导过程,气体扩散现象及电磁场的传播等随时间变化的非定常物理问题时,常常会遇到抛物型方程。
其最简单的形式为一维热传导方程)0(022>=∂∂-∂∂a xua t u (5) 方程(5)可以有两种不同类型的定解问题: 初值问题(也称为 Cauchy 问题)⎪⎩⎪⎨⎧+∞<<∞-=+∞<<-∞>=∂∂-∂∂x x x u x t x ua tu )()0,(,0022ϕ (6) 初边值问题⎪⎪⎪⎩⎪⎪⎪⎨⎧<<===<<<<=∂∂-∂∂lx t g t l u t g t u x x u l x T t x ua t u 0),(),(),(),0()()0,(0,002122ϕ (7) 其中ϕ)(),(),(21x g x g x ϕ为已知函数,且满足连接条件 )0()(),0()0(21g l g ==ϕϕ问题(7)中的边界条件)(),(),(),0(21t g t l u t g t u ==称为第一类界条件。
matlab解偏微分方程

ui,j +1 − ui,j = Hui,j +1 ∆t Hui,j = a2 ui+1,j − 2ui,j + ui−1,j (∆x)2
ui,j +1 − ui,j = Hui,j ∆t 将显式与隐式相加,得平均公式 ui,j +1 − ui,j 1 1 = Hui,j + Hui,j +1 ∆t 2 2
得ui,0 = ui,2 − 2ψi
1 ui,2 = [c(ui+1,1 + ui−1,1) + 2(1 − c)ui,1 + 2ψi t] 2
3.3
例题 两端固定的弦振动
两端固定的弦, 初速为零,初位移是 h x, (0 ≤ x ≤ 2/3) 2 / 3 u(x, 0) = 1−x , (2/3 < x ≤ 1) h 1 − 2/3
作图所用程序如下,其中取c = 0.05, l = 1, h = 0.05.这里使用的方程 与初始条件表示方法与上一节相同. N=4000; c=0.05; x=linspace(0,1,420)’; u1(1:420)=0; u2(1:420)=0; u3(1:420)=0; u1(2:280)=0.05/279*(1:279)’; u1(281:419)=0.05/(419-281)*(419-(281:419)’); u2(2:419)=u1(2:419)+c/2*(u1(3:420)-2*u1(2:419)+u1(1:418)); h=plot(x,u1,’linewidth’,3); axis([0,1,-0.05,0.05]); set(h,’EraseMode’,’xor’,’MarkerSize’,18) for k=2:N set(h,’XData’,x,’YData’,u2) ; drawnow; u3(2:419)=2*u2(2:419)-u1(2:419)+c*(u2(3:420)... -2*u2(2:419)+u2(1:418)); u1=u2; u2=u3; end
matlab求解偏微分方程组

matlab求解偏微分方程组摘要:I.引言- 介绍偏微分方程组及其应用领域- 阐述使用Matlab 求解偏微分方程组的重要性II.Matlab 的基本操作与设置- 安装与配置Matlab- 熟悉Matlab 的基本语法与操作III.偏微分方程组的类型及表示方法- 分类介绍偏微分方程组:椭圆型、抛物型和双曲型- 常用偏微分方程组的表示方法IV.使用Matlab 求解偏微分方程组- 使用Matlab 内置函数求解偏微分方程组- 利用有限差分法、有限元法等数值方法求解偏微分方程组- 分析求解结果及误差V.偏微分方程组在实际问题中的应用- 举例说明偏微分方程组在物理、工程等领域的应用- 展示Matlab 在解决实际问题中的优势VI.结论- 总结Matlab 求解偏微分方程组的方法与技巧- 展望偏微分方程组在数值计算领域的未来发展正文:偏微分方程组广泛应用于物理、工程、生物学等领域,是描述现实世界中许多复杂现象的基本工具。
Matlab 作为一款功能强大的数学软件,为求解偏微分方程组提供了便利。
本文将介绍如何使用Matlab 求解偏微分方程组,并探讨其在实际问题中的应用。
首先,我们需要安装与配置Matlab 软件。
在安装过程中,请确保正确配置Matlab 的环境变量,以便在后续使用过程中能够顺利调用相关函数。
熟悉Matlab 的基本语法与操作也是十分必要的,这将有助于我们更好地使用Matlab 解决实际问题。
偏微分方程组根据其特征可分为椭圆型、抛物型和双曲型。
在实际应用中,我们通常会遇到各种不同类型的偏微分方程组,因此熟练掌握不同类型方程组的表示方法十分重要。
使用Matlab 求解偏微分方程组的方法有很多。
Matlab 内置了许多求解偏微分方程组的函数,例如`fsolve`、`dsolve`等。
此外,我们还可以利用有限差分法、有限元法等数值方法求解偏微分方程组。
在实际求解过程中,我们需要根据问题的特点选择合适的求解方法,并对求解结果进行误差分析,以确保结果的准确性。
《偏微分方程概述及运用matlab求解偏微分方程常见问题》

北京航空航天大学偏微分方程概述及运用matlab求解微分方程求解常见问题姓名徐敏学号********班级380911班2011年6月偏微分方程概述及运用matlab求解偏微分方程常见问题徐敏摘要偏微分方程简介,matlab偏微分方程工具箱应用简介,用这个工具箱解方程的过程是:确定待解的偏微分方程;确定边界条件;确定方程所在域的几何形状;划分有限元;解方程关键词MATLAB 偏微分方程程序如果一个微分方程中出现的未知函数只含有一个自变量,这个方程叫做常微分方程,也简称微分方程:如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。
一,偏微分方程概述偏微分方程是反映有关的未知变量关于时间的导数和关于空间变量的导数之间制约关系的等式。
许多领域中的数学模型都可以用偏微分方程来描述,很多重要的物理、力学等学科的基本方程本身就是偏微分方程。
早在微积分理论刚形成后不久,人们就开始用偏微分方程来描述、解释或预见各种自然现象,并将所得到的研究方法和研究成果运用于各门科学和工程技术中,不断地取得了显著的成效,显示了偏微分方程对于人类认识自然界基本规律的重要性。
逐渐地,以物理、力学等各门科学中的实际问题为背景的偏微分方程的研究成为传统应用数学中的一个最主要的内容,它直接联系着众多自然现象和实际问题,不断地提出和产生出需要解决的新课题和新方法,不断地促进着许多相关数学分支(如泛函分析、微分几何、计算数学等)的发展,并从它们之中引进许多有力的解决问题的工具。
偏微分方程已经成为当代数学中的一个重要的组成部分,是纯粹数学的许多分支和自然科学及工程技术等领域之间的一座重要的桥梁。
在国外,对偏微分方程的应用发展是相当重视的。
很多大学和研究单位都有应用偏微分方程的研究集体,并得到国家工业、科学部门及军方、航空航天等方面的大力资助。
比如在国际上有重大影响的美国的Courant研究所、法国的信息与自动化国立研究所等都集中了相当多的偏微分方程的研究人员,并把数学模型、数学方法、应用软件及实际应用融为一体,在解决实际课题、推动学科发展及加速培养人才等方面都起了很大的作用。
椭圆型微分方程

数学与计算科学学院实验报告
实验项目名称椭圆型方程数值解
所属课程名称微分方程数值解法
实验类型验证
实验日期
班级信计0902
学号
姓名
成绩
附录1:源程序
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致。
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:简要说明本实验项目所涉及的理论知识。
4.实验环境:实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。
概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。
对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设
计思路和设计方法,再配以相应的文字说明。
对于创新性实验,还应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):根据实验过程中得到的结果,做出结论。
8.实验小结:本次实验心得体会、思考和建议。
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
matlab 求解偏微分方程组

一、介绍Matlab是一种强大的数学计算工具,用于解决各种数学问题,包括求解偏微分方程组。
偏微分方程组是描述自然界中许多物理现象的数学模型,其求解对于科学研究和工程应用具有重要意义。
在Matlab中,可以通过多种方法来求解偏微分方程组,包括有限差分方法、有限元方法、谱方法等。
本文将对Matlab中求解偏微分方程组的方法进行介绍和讨论。
二、有限差分方法有限差分方法是一种常用的求解偏微分方程组的数值方法。
其基本思想是将连续的变量离散化为有限个点,并利用差分逼近来近似偏微分方程的导数。
在Matlab中,可以通过编写相应的差分方程组来求解偏微分方程组。
对于二维热传导方程,可以将偏导数用中心差分逼近,并构建相应的差分方程来求解温度分布。
通过循环迭代的方式,可以逐步逼近偏微分方程的解,并得到数值解。
三、有限元方法有限元方法是另一种常用的求解偏微分方程组的数值方法。
其基本思想是将求解区域离散化为有限个单元,并在每个单元内建立近似函数来逼近原始方程。
在Matlab中,可以利用有限元建模工具箱来构建离散化的网格,并编写相应的有限元方程来求解偏微分方程组。
对于弹性力学方程,可以利用有限元方法来求解结构的位移和应力分布。
通过求解线性方程组,可以得到离散化网格上的数值解。
四、谱方法谱方法是一种利用特定基函数展开偏微分方程解的方法。
其基本思想是选取适当的基函数,并通过展开系数来得到偏微分方程的数值解。
在Matlab中,可以通过谱方法工具箱来实现对偏微分方程组的求解。
对于波动方程,可以利用正交多项式展开来逼近波函数,通过选取适当的基函数和展开系数,可以得到偏微分方程的数值解。
五、总结在Matlab中,有多种方法可以用来求解偏微分方程组,包括有限差分方法、有限元方法、谱方法等。
这些方法各有特点,适用于不同类型的偏微分方程和求解问题。
通过合理地选择方法和编写相应的数值算法,可以在Matlab中高效地求解偏微分方程组,为科学研究和工程应用提供重要支持。
matlab解偏微分方程
matlab解偏微分方程Matlab是一种非常强大的数学计算工具,它可以用于解决各种数学问题。
在本文中,我们将学习如何使用Matlab解偏微分方程。
偏微分方程是一类包含未知函数的偏导数的方程。
通常,解偏微分方程是困难的,需要使用复杂的数学方法。
然而,Matlab可以大大简化这个过程。
在Matlab中,我们可以使用pdepe函数来解偏微分方程。
pdepe函数采用一个偏微分方程的系统,并返回一个包含解的向量的矩阵。
下面是一个解二维扩散方程的示例程序:%定义二维扩散方程 function [c,f,s] = diffusionpde(x,t,u,DuDx)c = 1; %系数f = DuDx; %带有时间和空间导数的项s = 0; %不带导数的项end%定义边界条件(例)function [pl,ql,pr,qr] =diffusionbc(xl,ul,xr,ur,t)pl = 0; ql = 1; %左边界(u=0)pr = 0; qr = 1; %右边界(u=0)end%定义初始条件(例)function u0 = diffusionic(x)u0 = sin(pi*x); %sin(pi*x)是初始条件方程end%主程序x = linspace(0,1,50); %空间网格t = linspace(0,1,10); %时间网格sol =pdepe(0,@diffusionpde,@diffusionic,@diffusionbc,x,t );u = sol(:,:,1); %提取第一个解%绘制解surfc(x,t,u)xlabel('位置')ylabel('时间')title('二维扩散方程的解')从上述程序中,我们可以看到pdepe的使用方法。
在主程序中,我们选择了空间和时间网格,然后定义了偏微分方程、初始条件和边界条件的函数。
最后,我们调用pdepe函数,并将解存储在变量sol中。
MATLAB中的偏微分方程数值解法
MATLAB中的偏微分方程数值解法偏微分方程(Partial Differential Equations,PDEs)是数学中的重要概念,广泛应用于物理学、工程学、经济学等领域。
解决偏微分方程的精确解往往非常困难,因此数值方法成为求解这类问题的有效途径。
而在MATLAB中,有丰富的数值解法可供选择。
本文将介绍MATLAB中几种常见的偏微分方程数值解法,并通过具体案例加深对其应用的理解。
一、有限差分法(Finite Difference Method)有限差分法是最为经典和常用的偏微分方程数值解法之一。
它将偏微分方程的导数转化为差分方程,通过离散化空间和时间上的变量,将连续问题转化为离散问题。
在MATLAB中,使用有限差分法可以比较容易地实现对偏微分方程的数值求解。
例如,考虑一维热传导方程(Heat Equation):∂u/∂t = k * ∂²u/∂x²其中,u为温度分布随时间和空间的变化,k为热传导系数。
假设初始条件为一段长度为L的棒子上的温度分布,边界条件可以是固定温度、热交换等。
有限差分法可以将空间离散化为N个节点,时间离散化为M个时刻。
我们可以使用中心差分近似来计算二阶空间导数,从而得到以下差分方程:u(i,j+1) = u(i,j) + Δt * (k * (u(i+1,j) - 2 * u(i,j) + u(i-1,j))/Δx²)其中,i表示空间节点,j表示时间步。
Δt和Δx分别为时间和空间步长。
通过逐步迭代更新节点的温度值,我们可以得到整个时间范围内的温度分布。
而MATLAB提供的矩阵计算功能,可以大大简化有限差分法的实现过程。
二、有限元法(Finite Element Method)有限元法是另一种常用的偏微分方程数值解法,特点是适用于复杂的几何形状和边界条件。
它将求解区域离散化为多个小单元,通过构建并求解代数方程组来逼近连续问题。
在MATLAB中,我们可以使用Partial Differential Equation Toolbox提供的函数进行有限元法求解。
matlab 求解偏微分方程
matlab 求解偏微分方程求解偏微分方程是数学中的一种重要问题,而MATLAB是一种功能强大的数学软件,可以用于求解各种数学问题,包括偏微分方程。
在本文中,我们将探讨如何使用MATLAB求解偏微分方程,并介绍一些常用的求解方法和技巧。
偏微分方程是描述自然界中许多现象的数学模型,例如热传导、扩散、波动等。
求解偏微分方程的目标是找到满足方程条件的未知函数。
MATLAB提供了许多内置函数和工具箱,可以方便地进行偏微分方程的求解。
我们需要定义偏微分方程的边界条件和初始条件。
边界条件是指在求解区域的边界上给定的条件,而初始条件是指在求解区域内给定的初始状态。
这些条件将帮助我们确定偏微分方程的解。
接下来,我们可以使用MATLAB中的偏微分方程求解函数来求解方程。
MATLAB提供了几种常用的求解方法,例如有限差分法、有限元法和谱方法等。
通过选择合适的求解方法,我们可以得到偏微分方程的数值解。
在使用MATLAB求解偏微分方程时,我们还可以使用一些技巧和优化方法来提高求解效率。
例如,可以使用网格剖分方法来将求解区域划分为若干小区域,从而减少计算量。
此外,还可以使用迭代方法来逐步逼近偏微分方程的解,从而提高求解精度。
除了求解偏微分方程,MATLAB还可以用于可视化偏微分方程的解。
通过使用MATLAB的绘图函数,我们可以将数值解以图形的形式展示出来,从而更直观地理解偏微分方程的解。
需要注意的是,在使用MATLAB求解偏微分方程时,我们需要考虑计算资源的限制。
由于偏微分方程的求解通常需要大量的计算和存储资源,因此我们需要合理安排计算机的内存和处理器的使用,以避免计算过程中的错误或崩溃。
总结起来,MATLAB是一种强大的数学软件,可以用于求解偏微分方程。
通过选择合适的求解方法和优化技巧,我们可以得到偏微分方程的数值解,并用图形的形式展示出来。
使用MATLAB求解偏微分方程可以帮助我们更好地理解和解决实际问题,是数学研究和工程应用中的重要工具之一。
偏微分方程的matlab解法PPT课件
求解抛物型方程的例子
考虑一个带有矩形孔的金属板上的热传导问题。板的左边
保持在100 °C,板的右边热量从板向环境空气定常流动,
t t 其他边及内孔边界保持绝缘。初始
°C ,于是概括为如下定解问题;
是板的温度为0 0
d u u0 , t
u 1 0 0 ,在 左 边 界 上
u 1, 在 右 边 界 上 n u = 0, 其 他 边 界 上 n
ppt课件完整
3
先确定方程大类
ppt课件完整
4
Draw Mode
画图模式,先将处理的区域画出来,二 维,方形,圆形,支持多边形,可以手 动更改坐标,旋转rotate
例如,对于细杆导热,虽然是一维问题, 可以将宽度y虚拟出来,对应于y的边界 条件和初始条件按照题意制定
ppt课件完整
5
Boundary Mode
ppt课件完整
20
ppt课件完整
21
第七步:单击Plot菜单中Parameter选项,打开Plot Selection对话框,选中Color,Height(3D plot)和 Show mesh三项.再单击Polt按钮,显示三维图形解, 如图22.5所示.
ppt课件完整
22
第八步:若要画等值线图和矢量场图,单击plot菜单 中parameter 选项,在plot selection对话框中选中 contour 和arrow两选项。然后单击plot按钮,可显示 解的等值线图和矢量场图,如图2.6所示。
2u (2u t 2 x2
u t to 0
区域的边界顶点坐标为(-0.5,-0.8), (0.5,-0.8), (-0.5,0.8), (-0.05,0.4) ,(0.05,-0.4),
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. . . . 先自己去看一下关于五点差分法的理论书籍 在命令窗口中输入: surf(x,y,u) ; surf(x,y,p) .. .. .. .. .. .. 为什么分得越小,误差会变大呢? K=2164 .. .. .. .. .. .. 也许可以去研究一下那个误差最小的地方 或者研究趋于稳定时的临界值。
.. ..
用差分法解椭圆型偏微分方程
-(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0
Matlab程序:
unction [p e u x y k]=wudianchafenfa(h,m,n,kmax,ep)
% g-s迭代法解五点差分法问题
%kmax为最大迭代次数
%m,n为x,y方向的网格数,例如(2-0)/0.01=200;
%e为误差,p为精确解
syms temp;
u=zeros(n+1,m+1);
x=0+(0:m)*h;
y=0+(0:n)*h;
for(i=1:n+1)
u(i,1)=sin(pi*y(i));
u(i,m+1)=exp(1)*exp(1)*sin(pi*y(i));
end
for(i=1:n)
for(j=1:m)
f(i,j)=(pi*pi-1)*exp(x(j))*sin(pi*y(i));
end
end
t=zeros(n-1,m-1);
for(k=1:kmax)
for(i=2:n)
for(j=2:m)
temp=h*h*f(i,j)/4+(u(i,j+1)+u(i,j-1)+u(i+1,j)+u(i-1,j))/4;
t(i,j)=(temp-u(i,j))*(temp-u(i,j));
u(i,j)=temp;
end
end
t(i,j)=sqrt(t(i,j));
if(k>kmax)
break;
end
if(max(max(t))
end
end
for(i=1:n+1)
. . . .
.. ..
for(j=1:m+1)
p(i,j)=exp(x(j))*sin(pi*y(i));
e(i,j)=abs(u(i,j)-exp(x(j))*sin(pi*y(i)));
end
End
[p e u x y k]=wudianchafenfa(0.1,20,10,10000,1e-6) k=147
xlabel(‘x’);ylabel(‘y’);zlabel(‘u’);
Title(‘五点差分法解椭圆型偏微分方程例1’)
就可以得到下图
. . . .
surf(x,y,e)
. . . .
[p e u x y k]=wudianchafenfa(0.05,40,20,10000,1e-6)
. . . .
[p e u x y k]=wudianchafenfa(0.025,80,40,10000,1e-6)
我们试试运行:
[p e u x y k]=wudianchafenfa(0.025,80,40,10000,1e-8)
surf(x,y,e)
. . . .
误差变小了吧
还可以试试
[p e u x y k]=wudianchafenfa(0.025,80,40,10000,1e-10)
K=3355
. . . .
误差又大了一点
再试试
[p e u x y k]=wudianchafenfa(0.025,80,40,10000,1e-11) k=3952
. . . .
误差趋于稳定
总结:
最终的误差曲面
与网格数有关,也与设定的迭代前后两次差值(ep,看程序)有关;固定网格数,随着设定
的迭代前后两次差值变小,误差由大比变小,中间有一个最小值,随着又增大一点,最后趋
于稳定。