五点差分法(matlab)解椭圆型偏微分方程教学文稿

合集下载

matlab_pde

matlab_pde

8
五点差分格式在MATLAB中实现
A=-4*eye((nx-2)*(ny-2),(nx-2)*(ny-2)); b=zeros((nx-2)*(ny-2),1); for i=1:(nx-2)*(ny-2); if mod(i,nx-2)==1 if i==1 A(1,2)=1; A(1,nx-1)=1; b(1)=-u0(1,2)-u0(2,1); else if i==(ny-3)*(nx-2)+1 A(i,i+1)=1; A(i,i-nx+2)=1; %注意边界节点的离散方式 b(i)=-u0(ny-1,1)-u0(ny,2); else A(i,i+1)=1; A(i,i-nx+2)=1; A(i,i+nx-2)=1; b(i)=-u0(floor(i/(nx-2))+2,1); end end else if mod(i,nx-2)==0 if i==nx-2 9
一维对流方程——迎风格式算例
end u0=u1; end if a>0 u=u1((M+1):M+n); else u=u1(1:n); end format long;
20
一维对流方程——迎风格式算例
然后在MATLAB窗口输入下列命令: u=peHypbYF(1,0.005,101,0,1,100);
基于Matlab的偏微分 方程数值解
求数值解方法
差分方法 有限元方法
MATLAB的pedpe函数
MATLAB的PDEtool工具箱
偏微分方程分类
椭圆偏微分方程 双曲线偏微分方程 抛物线偏微分方程
椭圆偏微分方程特例—拉普拉斯方程
拉普拉斯方程是最简单的椭圆偏微分方程,以下以拉

(完整版)偏微分方程的MATLAB解法

(完整版)偏微分方程的MATLAB解法

引言偏微分方程定解问题有着广泛的应用背景。

人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。

然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。

现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。

偏微分方程如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。

常用的方法有变分法和有限差分法。

变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。

虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。

随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。

从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。

从这个角度说,偏微分方程变成了数学的中心。

一、MATLAB方法简介及应用1.1 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

(完整版)偏微分方程的MATLAB解法

(完整版)偏微分方程的MATLAB解法

引言偏微分方程定解问题有着广泛的应用背景。

人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。

然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。

现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。

偏微分方程如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。

常用的方法有变分法和有限差分法。

变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。

虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。

随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。

从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。

从这个角度说,偏微分方程变成了数学的中心。

一、MATLAB方法简介及应用1.1 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

五点差分格式求解椭圆型偏微分方程(解线性方程组方法)

五点差分格式求解椭圆型偏微分方程(解线性方程组方法)

五点差分格式求解椭圆型偏微分方程(解线性方程组方法)五点差分格式是一种常用的数值方法,用于求解椭圆型偏微分方程。

该方法将偏微分方程中的二阶导数项用差分近似替代,并将偏微分方程转化为一个线性方程组。

本文将介绍五点差分格式的推导过程,并使用该方法求解一个简单的椭圆型偏微分方程。

假设我们要求解的偏微分方程为:∂²u/∂x²+∂²u/∂y²=f(x,y)其中,u是未知函数,f(x,y)是已知函数。

我们将该方程离散化,将坐标(x,y)分别用h表示,将u(x,y)用U(i,j)表示,其中i和j分别表示x和y的离散位置。

我们可以使用中心差分近似来计算二阶导数,得到:∂²u/∂x²≈(U(i+1,j)-2U(i,j)+U(i-1,j))/h²∂²u/∂y²≈(U(i,j+1)-2U(i,j)+U(i,j-1))/h²将上述近似代入原方程,得到:(U(i+1,j)-2U(i,j)+U(i-1,j))/h²+(U(i, j+1) - 2U(i, j) + U(i, j-1)) / h² = f(ih, jh)整理上述方程,得到:U(i+1, j) + U(i-1, j) + U(i, j+1) + U(i, j-1) - 4U(i, j) = h² * f(ih, jh)该方程表示了U(i,j)与其相邻四个点的关系。

我们可以将整个区域离散化为一个网格,每个网格点都满足类似的方程。

离散化后的方程可以写成一个线性方程组的形式。

例如,在一个矩形区域内,我们将x轴和y轴的区间划分为n个小区间,即x轴上的取值为0, h, 2h, ..., nh;y轴上的取值为0, h,2h, ..., nh。

在该区域内,一共有(n-1)²个内部网格点。

我们可以将这些网格点按照其中一种顺序依次编号,从而将线性方程组表示为一个矩阵方程。

偏微分方程的matlab解法演示文稿

偏微分方程的matlab解法演示文稿
偏微分方程的matlab解法演示文 稿
第1页,共25页。
主要讲述如何用MATLAB实现对偏微分方程的仿真求 解.MATLAB的偏微分方程工具箱(PDE Toolbox)的 出现,为偏微分方程的求解以及定性研究提供了捷 径.主要步骤为:
1、设置PDE的定解问题.即设置二维定解区域、 边界条件以及方程的形式;和系数 2、用有限元法(FEM)求解PDE.即网格的生成、 方程的离散以及求出数值解; 3、解的可视化.
u Байду номын сангаас to 0
区域的边界顶点坐标为(-0.5,-0.8), (0.5,-0.8), (-0.5,0.8), (0.5,0.8)。
内边界顶点坐标(-0.05,-0.4), (-0.05,0.4) ,(0.05,-0.4), (0.05,0.4)。
第25页,共25页。
mesh三项.再单击Polt按钮,显示三维图形解,如图22.5所
示.
第22页,共25页。
第八步:若要画等值线图和矢量场图,单击plot菜单中 parameter 选项,在plot selection对话框中选中contour 和arrow两选项。然后单击plot按钮,可显示解的等值线图 和矢量场图,如图2.6所示。
如果想将几何与边界信息存储,可选Boundary菜单 中的Export Decomposed Geometrv.Boundary Cond's命令,将它们分别存储在g、b变量中,并通过
MATLAB形成M文件.
第16页,共25页。
第17页,共25页。
第四步:设置方程类型
选择PDE菜单中PDE Mode命令,进入PDE模式,
求解抛物型方程的例子
考虑一个带有矩形孔的金属板上的热传导问题。板的左边保持

matlab求解偏微分方程组

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求解偏微分方程常见问题》

北京航空航天大学偏微分方程概述及运用matlab求解微分方程求解常见问题姓名徐敏学号********班级380911班2011年6月偏微分方程概述及运用matlab求解偏微分方程常见问题徐敏摘要偏微分方程简介,matlab偏微分方程工具箱应用简介,用这个工具箱解方程的过程是:确定待解的偏微分方程;确定边界条件;确定方程所在域的几何形状;划分有限元;解方程关键词MATLAB 偏微分方程程序如果一个微分方程中出现的未知函数只含有一个自变量,这个方程叫做常微分方程,也简称微分方程:如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。

一,偏微分方程概述偏微分方程是反映有关的未知变量关于时间的导数和关于空间变量的导数之间制约关系的等式。

许多领域中的数学模型都可以用偏微分方程来描述,很多重要的物理、力学等学科的基本方程本身就是偏微分方程。

早在微积分理论刚形成后不久,人们就开始用偏微分方程来描述、解释或预见各种自然现象,并将所得到的研究方法和研究成果运用于各门科学和工程技术中,不断地取得了显著的成效,显示了偏微分方程对于人类认识自然界基本规律的重要性。

逐渐地,以物理、力学等各门科学中的实际问题为背景的偏微分方程的研究成为传统应用数学中的一个最主要的内容,它直接联系着众多自然现象和实际问题,不断地提出和产生出需要解决的新课题和新方法,不断地促进着许多相关数学分支(如泛函分析、微分几何、计算数学等)的发展,并从它们之中引进许多有力的解决问题的工具。

偏微分方程已经成为当代数学中的一个重要的组成部分,是纯粹数学的许多分支和自然科学及工程技术等领域之间的一座重要的桥梁。

在国外,对偏微分方程的应用发展是相当重视的。

很多大学和研究单位都有应用偏微分方程的研究集体,并得到国家工业、科学部门及军方、航空航天等方面的大力资助。

比如在国际上有重大影响的美国的Courant研究所、法国的信息与自动化国立研究所等都集中了相当多的偏微分方程的研究人员,并把数学模型、数学方法、应用软件及实际应用融为一体,在解决实际课题、推动学科发展及加速培养人才等方面都起了很大的作用。

椭圆形方程的差分法

椭圆形方程的差分法
【实验过程】(实验步骤、记录、数据、分析)
【实验结论】(结果)
y =
0
0.2000
0.4000
0.6000
0.8000
1.0000
1.2000
1.4000
1.6000
1.8000
2.0000
2.2000
2.4000
2.6000
2.8000
3.0000
3.2000
3.4000
3.6000
3.8000
4.0000
x0=D(1);
xf=D;
dx=(xf-x0)/M;
x=x0+[0:M]*dx;
dy=(yf-y0)/N;
y=y0+[0:N]'*dy;
%边界条件
for m=1:N+1
u(m,[1,M+1])=[feval(bx0,y(m)),feval(bxf,y(m))];
end
for n=1:M+1
u([1,N+1],n)=[feval(by0,x(n)),feval(byf,x(n))];
end
%边界的平均值作为初始值
bvaver=sum([sum(u(2:N,[1,M+1])),sum(u([1,N+1],2:M))]);
u(2:N,2:M)=bvaver/(2*(M+N-2));
for j=2:M
for i=2:N
u(i,j)=ry*(u(i,j+1)+u(i,j-1))+rx*(u(i+1,j)+u(i-1,j))+rxy*(G(i,j)*u(i,j)-F(i,j));
end
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用差分法解椭圆型偏微分方程
-(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0<x<2; 0<y<1
U(0,y)=sin(pi*y),U(2,y)=e^2sin(pi*y); 0=<y<=1
U(x,0)=0, U(x,1)=0; 0=<x<=2
先自己去看一下关于五点差分法的理论书籍
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))<ep)
break;
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
surf(x,y,u) ;
xlabel(‘x’);ylabel(‘y’);zlabel(‘u’);
Title(‘五点差分法解椭圆型偏微分方程例1’)
就可以得到下图
surf(x,y,p)
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)
K=2164
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,看程序)有关;固定网格数,随着设定的迭代前后两次差值变小,误差由大比变小,中间有一个最小值,随着又增大一点,最后趋于稳定。

也许可以去研究一下那个误差最小的地方或者研究趋于稳定时的临界值。

相关文档
最新文档