【毕业设计(论文)】二维热传导方程有限差分法的MATLAB实现

合集下载

matlab有限差分法

matlab有限差分法

matlab有限差分法一、前言Matlab是一种广泛应用于科学计算和工程领域的计算机软件,它具有简单易学、功能强大、易于编程等优点。

有限差分法(Finite Difference Method)是一种常用的数值解法,它将微分方程转化为差分方程,通过对差分方程进行离散化求解,得到微分方程的数值解。

本文将介绍如何使用Matlab实现有限差分法。

二、有限差分法基础1. 有限差分法原理有限差分法是一种通过将微分方程转化为离散形式来求解微分方程的数值方法。

其基本思想是将求解区域进行网格划分,然后在每个网格点上进行逼近。

假设要求解一个二阶常微分方程:$$y''(x)=f(x,y(x),y'(x))$$则可以将其转化为离散形式:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$其中$h$为网格步长,$y_i$表示在$x_i$处的函数值。

2. 一维情况下的有限差分法对于一维情况下的常微分方程:$$\frac{d^2 y}{dx^2}=f(x,y,y')$$可以使用中心差分法进行离散化:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$这个方程可以写成矩阵形式:$$A\vec{y}=\vec{b}$$其中$A$为系数矩阵,$\vec{y}$为函数值向量,$\vec{b}$为右端项向量。

三、Matlab实现有限差分法1. 一维情况下的有限差分法假设要求解的方程为:$$\frac{d^2 y}{dx^2}=-\sin(x)$$首先需要确定求解区域和网格步长。

在本例中,我们将求解区域设为$[0,2\pi]$,网格步长$h=0.01$。

则可以通过以下代码生成网格:```matlabx = 0:0.01:2*pi;```接下来需要构造系数矩阵和右端项向量。

根据上面的公式,系数矩阵应该是一个三对角矩阵,可以通过以下代码生成:```matlabn = length(x)-2;A = spdiags([-ones(n,1), 2*ones(n,1), -ones(n,1)], [-1 0 1], n, n); ```其中`spdiags`函数用于生成一个稀疏矩阵。

matlab傅里叶谱方法求解热传导方程

matlab傅里叶谱方法求解热传导方程

文章标题:深度解析matlab傅里叶谱方法求解热传导方程在工程学和科学领域中,热传导方程是一个非常重要的偏微分方程,描述了物体内部温度分布随时间的变化。

而傅里叶谱方法是一种常用的数值求解方法,能够高效地对热传导方程进行求解。

本文将深入探讨matlab傅里叶谱方法在求解热传导方程中的应用,以及该方法在实际工程中的意义。

1. 热传导方程的基本概念热传导方程是描述物体内部温度分布随时间演化的方程。

一维情况下,热传导方程可以表示为:$$\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partialx^2}$$其中,$u(x,t)$是位置$x$和时间$t$的温度分布函数,$\alpha$是热扩散系数。

对于二维、三维情况,热传导方程的形式也可以相应拓展。

2. matlab傅里叶谱方法的基本原理傅里叶谱方法是一种基于傅里叶级数展开的数值求解方法。

它的基本思想是将热传导方程通过傅里叶变换转化为频域上的方程,再通过离散化的方式进行求解。

在matlab中,可以利用快速傅里叶变换(FFT)来高效地实现傅里叶谱方法。

该方法的优点是高精度、高效率,并且适用于多维情况。

3. matlab傅里叶谱方法的具体实现在matlab中,可以通过编写相应的程序来实现对热传导方程的求解。

首先需要将热传导方程进行离散化,得到一个离散的时间和空间网格。

然后利用傅里叶变换将热传导方程转化为频域上的方程,通过FFT算法高效地求解。

最后再利用逆傅里叶变换将频域上的解转化为时域的解。

通过这一系列步骤,就可以在matlab中实现对热传导方程的高效求解。

4. 实际工程中的应用与意义matlab傅里叶谱方法在实际工程中有着广泛的应用与意义。

例如在材料科学中,可以利用该方法对材料的热传导特性进行建模和仿真。

在电子工程领域,也可以利用该方法对电路元件的热特性进行分析和优化。

另外,在生物医学工程中,对人体组织的热传导特性进行研究也可以借助matlab傅里叶谱方法来实现。

有限差分 matlab

有限差分 matlab

有限差分 MATLAB简介有限差分方法(Finite Difference Method)是一种常用的数值计算方法,用于求解偏微分方程或者常微分方程的数值近似解。

MATLAB是一个功能强大的数值计算软件,可以很方便地实现有限差分方法。

本文将介绍有限差分方法在MATLAB中的应用。

首先,我们将简要介绍有限差分方法的原理和基本思想。

然后,我们将通过一个具体的例子来演示如何使用MATLAB进行有限差分计算。

最后,我们将总结本文内容,并提供一些相关资源供读者进一步深入学习。

有限差分方法原理有限差分方法是一种基于离散化思想的数值计算方法。

它通过将求解区域划分为网格点,并利用离散点上函数值之间的差商逼近导数来近似求解微分方程。

对于一维问题,我们可以将求解区域划分为等距离的网格点,记作x0, x1,x2, …, xn。

每个网格点上函数值记作u0, u1, u2, …, un。

我们希望通过已知边界条件和微分方程来求解其他未知函数值。

有限差分法的基本思想是使用差商逼近导数。

例如,对于一阶导数,我们可以使用前向差分、后向差分或者中心差分来逼近。

其中,前向差分定义为:f'(x) ≈ (f(x+h) - f(x)) / h后向差分定义为:f'(x) ≈ (f(x) - f(x-h)) / h中心差分定义为:f'(x) ≈ (f(x+h) - f(x-h)) / (2h)类似地,我们可以使用更高阶的有限差分来逼近更高阶的导数。

对于二维问题,我们可以将求解区域划分为二维网格点,并在每个网格点上计算函数值。

然后,我们可以使用类似的方法来逼近偏导数。

MATLAB实现在MATLAB中,我们可以很方便地使用矩阵运算和向量化操作来实现有限差分方法。

首先,我们需要定义求解区域和网格点。

假设我们要求解一个一维问题,在区间[0, 1]上进行离散化。

我们可以通过指定网格点个数n和步长h来确定网格点坐标:n = 100; % 网格点个数h = 1/n; % 步长x = linspace(0, 1, n+1); % 网格点坐标接下来,我们需要定义边界条件和微分方程。

热传导方程有限差分法的MATLAB实现

热传导方程有限差分法的MATLAB实现

△t
n
nn
关于
t
的二阶中心差商[10]:
坠2u 坠x2

uj+1
-2uj +uj-1 (△x)2
,对方
程进行离散。 离散后的方程为:
n n-1
n
nn
uj -uj △t
=a2
uj+1
-2uj +uj-1 (△x)2


:r=
a2·△t (△x)2
,即
n
n
n
n-1
(1+2r)uj -r·uj+1 -r·uj-1 =uj 。 可化为矩阵形式:
摘 要:对于有界热传导齐次方程的混合问题,用分离变量法求解往往很复杂。 为了更好地
理解热传导方程的解,使用 MATLAB 软件将方程的解用图像表示出来。 通过区域转换的思想,
利用 MATLAB 编程实现一定区域内热传导方程的有限差分方法,数值表明了方法的可行性和
稳定性。
关键词:热传导方程;有限差分;MATLAB
方法, 把控制方程中的导数用网格节点上的函数值
的差商代替进行离散,从而 建立以网格节点上的值
为未知数的代数方程组。
1 求解热传导方程的基本思想
基本思想是把连续的定解区域用有限个离散点
构成的网格来代替, 这些离散点称作网格的节点;
把连续定解区域上的连续变量的函数用在网格上定
义的离散变量函数来近似; 把原方程和定解条件中
x0(ii+1)=ii*ox; end u=sin(pi*x0/l); % t=0 时 u(x,t)的值 r=a^2*ot/(ox)^2; for ii=1:n
%数据的输入 B=zeros(M-1,1);%存放系数矩阵主对角线元素 A=zeros (M-2,1);%存放系数矩阵主对角线元素下 方次对角线的元素 C=zeros (M-2,1);%存放系数矩阵主对角线元素上 方次对角线的元素 S=zeros(M-1,1);%存放右端的常数项 for ii=1:M-2

【毕业设计(论文)】二维热传导方程有限差分法的MATLAB实现

【毕业设计(论文)】二维热传导方程有限差分法的MATLAB实现

第1章前言1.1问题背景在史策教授的《一维热传导方程有限差分法的MATLAB实现》和曹刚教授的《一维偏微分方程的基本解》中,对偏微分方程的解得MATLAB实现问题进行过研究,但只停留在一维中,而实际中二维和三维的应用更加广泛。

诸如粒子扩散或神经细胞的动作电位。

也可以作为某些金融现象的模型,诸如布莱克-斯科尔斯模型与Ornstein-uhlenbeck过程。

热方程及其非线性的推广形式也被应用与影响分析。

在科学和技术发展过程中,科学的理论和科学的实验一直是两种重要的科学方法和手段。

虽然这两种科学方法都有十分重要的作用,但是一些研究对象往往由于他们的特性(例如太大或太小,太快或太慢)不能精确的用理论描述或用实验手段来实现。

自从计算机出现和发展以来,模拟那些不容易观察到的现象,得到实际应用所需要的数值结果,解释各种现象的规律和基本性质。

科学计算在各门自然科学和技术科学与工程科学中其越来越大的作用,在很多重要领域中成为不可缺少的重要工具。

而科学与工程计算中最重要的内容就是求解科学研究和工程技术中出现的各种各样的偏微分方程或方程组。

解偏微分方程已经成为科学与工程计算的核心内容,包括一些大型的计算和很多已经成为常规的计算。

为什么它在当代能发挥这样大的作用呢?第一是计算机本身有了很大的发展;第二是数值求解方程的计算法有了很大的发展,这两者对人们计算能力的发展都是十分重要的。

1.2问题现状近三十年来,解偏微分方程的理论和方法有了很大的发展,而且在各个学科技术的领域中应用也愈来愈广泛,在我国,偏微分方程数值解法作为一门课程,不但在计算数学专业,而且也在其他理工科专业的研究生的大学生中开设。

同时,求解热传导方程的数值算法也取得巨大进展,特别是有限差分法方面,此算法的特点是在内边界处设计不同于整体的格式,将全局的隐式计算化为局部的分段隐式计算。

而且精度上更好。

目前,在欧美各国MATLAB的使用十分普及。

在大学的数学、工程和科学系科,MATLAB苏佳园:二维热传导方程有限差分法的MATLAB实现被用作许多课程的辅助教学手段,MATLAB也成为大学生们必不可少的计算工具,甚至是一项必须掌握的基本技能。

利用matlab程序解决热传导问题-推荐下载

利用matlab程序解决热传导问题-推荐下载

1、题目及要求
1. 原始题目及要求 2. 各节点的离散化的代数方程 3. 源程序 4. 不同初值时的收敛快慢 5. 上下边界的热流量(λ=1W/(m℃)) 6. 计算结果的等温线图 7. 计算小结 题目:已知条件如下图所示:
二、各节点的离散化的代数方程
各温度节点的代数方程
ta=(300+b+e)/4 ; tb=(200+a+c+f)/4; tc=(200+b+d+g)/4; td=(2*c+200+h)/4 te=(100+a+f+i)/4; tf=(b+e+g+j)/4; tg=(c+f+h+k)/4 ; th=(2*g+d+l)/4 ti=(100+e+m+j)/4; tj=(f+i+k+n)/4; tk=(g+j+l+o)/4; tl=(2*k+h+q)/4
0,0,-2,4,0,0,0,-1,0,0,0,0,0,0,0,0; -1,0,0,0,4,-1,0,0,-1,0,0,0,0,0,0,0; 0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0,0; 0,0,-1,0,0,-1,4,-1,0,0,-1,0,0,0,0,0; 0,0,0,-1,0,0,-2,4,0,0,0,-1,0,0,0,0; 0,0,0,0,-1,0,-1,0,4,0,0,0,-1,0,0,0; 0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0,0; 0,0,0,0,0,0,-1,0,0,-1,4,-1,0,0,-1,0; 0,0,0,0,0,0,0,-1,0,0,-2,4,0,0,0,-1; 0,0,0,0,0,0,0,0,-2,0,0,0,24,-1,0,0; 0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1,0; 0,0,0,0,0,0,0,0,0,0,-2,0,0,-1,24,-1; 0,0,0,0,0,0,0,0,0,0,0,-1,0,0,-1,12]; b=[300,200,200,200,100,0,0,0,100,0,0,0,300,200,200,100]'; [x,n]=gauseidel(A,b,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]',1.0e-6) xx=1:1:4; yy=xx; [X,Y]=meshgrid(xx,yy); Z=reshape(x,4,4); Z=Z' contour(X,Y,Z,30) Z= 139.6088 150.3312 153.0517 153.5639

二维热传导方程 matlab

二维热传导方程 matlab

二维热传导方程是描述二维热传导过程的数学模型,它在工程、物理、地球科学等领域都有重要应用。

在实际工程问题中,我们经常需要求解二维热传导方程,以预测物体表面的温度分布、热量传递速率等参数。

Matlab是一个强大的数学软件,通过Matlab我们可以很方便地求解二维热传导方程,并得到预期的结果。

一、二维热传导方程的基本形式二维热传导方程可以用偏微分方程的形式表示为:∂u/∂t = k(∂²u/∂x² + ∂²u/∂y²)其中,u(x, y, t)是温度分布随时间和空间的变化,k是热传导系数。

二、Matlab中求解二维热传导方程的方法在Matlab中,我们可以采用有限差分法(finite difference method)求解二维热传导方程。

有限差分法将偏微分方程离散化,转化为代数方程组,然后通过迭代求解得到数值解。

具体步骤如下:1. 离散化空间和时间变量,将连续的空间区域和时间区间分割成若干个小区间。

2. 利用二阶中心差分格式对二维热传导方程进行离散化,得到代数方程组。

3. 利用Matlab中的矩阵运算和迭代方法,求解代数方程组,得到数值解。

三、Matlab代码示例下面是一个简单的Matlab代码示例,用于求解二维热传导方程:```matlab定义参数和初始条件Lx = 1; Ly = 1; 区域大小Nx = 100; Ny = 100; 离散化网格数T = 1; 总时间Nt = 100; 时间步数k = 1; 热传导系数dx = Lx/Nx; dy = Ly/Ny;dt = T/Nt;x = 0:dx:Lx; y = 0:dy:Ly;[X, Y] = meshgrid(x, y);u = sin(pi*X).*sin(pi*Y); 初始温度分布迭代求解for n = 1:Ntun = u;for i = 2:Nx-1for j = 2:Ny-1u(i, j) = un(i, j) + k*dt/dx^2*(un(i+1, j)-2*un(i, j)+un(i-1, j)) + k*dt/dy^2*(un(i, j+1)-2*un(i, j)+un(i, j-1));endendend可视化结果figure;surf(X, Y, u);xlabel('x'); ylabel('y'); zlabel('Temperature');```以上代码首先定义了区域大小、离散化网格数、总时间、热传导系数等参数,然后利用有限差分法进行迭代求解,最后利用Matlab绘制了温度分布的三维图像。

二维热传导方程有限容积法的MATLAB实现

二维热传导方程有限容积法的MATLAB实现
70 65 60
温度/(℃)
参数类型 无限大板厚度 L 厚度方向坐标 x 密度 ρ 比热 c 大板初始温度 Ti 流体温度 T f 热传导系数 λ 换热系数 h
N n
[8]
界类型定义不同源项 S, 并将其代入到方程组的迭代 求解中, 从而在数学物理模型上体现不同方式向物 理介质内的有限容积单元传递热量, 下面分三种情 况进行讨论: (1) 给定热流密度 q 边界条件 T 2 j - T1 j 热流密度 q = - λ , 边界温度系数 aW = δx w 又有源项 S u 2 j = q aW 2 j = 0 , 元温度: T1 j = q
基金项目: 国家自然科学基金 (No.10901067) ; 中央高校基本科研业务费专项资金 (No.2011-1a-023) 。 作者简介: 薛琼 ( 1980— ) , 女, 博士, 讲师, 主要研究领域为微分几何及其应用; 肖小峰 ( 1979— ) , 男, 讲师。E-mail: 18986258401@ 收稿日期: 2011-12-08 修回日期: 2012-01-30 CNKI 出版日期: 2012-05-21 DOI: 10.3778/j.issn.1002-8331.2012.24.044 /kcms/detail/11.2127.TP.20120521.1142.073.html
199
通过式 (1) 和式 (3) 推导出, 具体如下式:
ì ρ c ¶T = ¶ æ λ ¶T ö + S ï ¶τ ¶x è ¶x ø ï ¶T | | = h T - T ¶T | =0 ï ¶x | |x = 0 λ 1 f ¶x |x = 0.06 ï 0 ía P T P = a E T E + aW TW + S u Dx + a0 PT P ï 0 ïa P = a E + aW + a P - S P Dx ï 0 ρcDV λe λw ïa P = Dτ a E = δx aW = δx e w î
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章前言1.1问题背景在史策教授的《一维热传导方程有限差分法的MATLAB实现》和曹刚教授的《一维偏微分方程的基本解》中,对偏微分方程的解得MATLAB实现问题进行过研究,但只停留在一维中,而实际中二维和三维的应用更加广泛。

诸如粒子扩散或神经细胞的动作电位。

也可以作为某些金融现象的模型,诸如布莱克-斯科尔斯模型与Ornstein-uhlenbeck过程。

热方程及其非线性的推广形式也被应用与影响分析。

在科学和技术发展过程中,科学的理论和科学的实验一直是两种重要的科学方法和手段。

虽然这两种科学方法都有十分重要的作用,但是一些研究对象往往由于他们的特性(例如太大或太小,太快或太慢)不能精确的用理论描述或用实验手段来实现。

自从计算机出现和发展以来,模拟那些不容易观察到的现象,得到实际应用所需要的数值结果,解释各种现象的规律和基本性质。

科学计算在各门自然科学和技术科学与工程科学中其越来越大的作用,在很多重要领域中成为不可缺少的重要工具。

而科学与工程计算中最重要的内容就是求解科学研究和工程技术中出现的各种各样的偏微分方程或方程组。

解偏微分方程已经成为科学与工程计算的核心内容,包括一些大型的计算和很多已经成为常规的计算。

为什么它在当代能发挥这样大的作用呢?第一是计算机本身有了很大的发展;第二是数值求解方程的计算法有了很大的发展,这两者对人们计算能力的发展都是十分重要的。

1.2问题现状近三十年来,解偏微分方程的理论和方法有了很大的发展,而且在各个学科技术的领域中应用也愈来愈广泛,在我国,偏微分方程数值解法作为一门课程,不但在计算数学专业,而且也在其他理工科专业的研究生的大学生中开设。

同时,求解热传导方程的数值算法也取得巨大进展,特别是有限差分法方面,此算法的特点是在内边界处设计不同于整体的格式,将全局的隐式计算化为局部的分段隐式计算。

而且精度上更好。

目前,在欧美各国MATLAB的使用十分普及。

在大学的数学、工程和科学系科,MATLAB苏佳园:二维热传导方程有限差分法的MATLAB实现被用作许多课程的辅助教学手段,MATLAB也成为大学生们必不可少的计算工具,甚至是一项必须掌握的基本技能。

在我国,MATLAB在各大专院校的应用日益普遍,许多专业已把MATLAB作为基本计算工具。

在科研机构和工业界,MATLAB正得到越来越广泛的应用。

MATLAB具有强大的图形绘制功能,为科学计算和图形处理提供了很大的方便。

我们只需制定的绘图方式,再提供绘图数据,有程序指令就可以得到形象、直观的图形结果。

因此,近些年越来越多的人开始使用MATLAB来求解数值计算和图形处理技术,我们也可以绘制出热传导方程数值解的二维、三维图形,从而可以更好的理解热传导方程的意义。

1.3 问题解决目前,对于求解偏微分方程有很多方法,但差分法和有限元离散法式主要解决问题的两种方法。

一般来说,用差分法来接偏微分方程,解得得结果就是方程的准确解函数再借点上的近似值。

而用变分近似的方法求解,是将近似解表示成有限维子空间中基函数的线性组合。

有限元法也是基于变分原理,由于选择了特殊的基函数,使它能适用于一般的区域。

这种基函数是与区域的剖分有关的,近似解u表示为基函数的线性组合,二线性组合中的系数,又是剖分节点上u或其导数的近似值。

有关一维热传导方程的有限差分法求解的MATLAB实现,西安建筑科技大学的史策教授已经解决,本文借鉴史老师的求解思想,对二维热传导方程进行转换,再对解法编程实现,从而进一步对热传导方程进行探讨。

二维热传导方程求解在现实生活中的应用也更加广泛,所以有很好的现实意义。

第2章 预备知识定义2.1[8] 含有未知函数12(,,,,)n u x x x t 的偏导数的方程称为偏微分方程。

定义2.2[8] 方程111()()(,),n n nu u uk k F x t t x x x x ∂∂∂∂∂=+++∂∂∂∂∂ 称热传导方程(或扩散方程)。

其中,(,)u u x t =是固体的传热过程中在x 处、t 时刻的温度。

系数i k 称为热传导系数,当12(0)n k k k a a ====>时,方程为(,),ua u F x t t∂=∆+∂ 其中22222212nx x x ∂∂∂∆=+++∂∂∂,n 为维数。

定义2.3[8] 在特定条件下求解方程的解。

这样的条件成为定解条件。

给出了方程和定结条件,就构成了定解问题。

定义2.4[1] 一般说,边界条件有下列形式(,)(,)(,)(,)(,),ux y u x y x y x y x y nαβγ∂+=∂ 其中un∂∂为边界的外法向导数。

有如下几种特殊形式 (1)Dirichlet (或第一类)条件:0,β=即u 值给定;(2)Neumann (或第二类)条件:0α=.即u 的外法向导数给定; (3)Robbins (或第三类)条件:0,0αβ≠≠。

定 义2.5[8] 只有出事条件而没有边界条件的定解问题。

定 义2.6[8] 只有边界条件而没有初值条件的定解问题。

定 义2.7[8] 既有边值条件又有初值条件的定解问题。

定 义2.7[8] 定义在()+∞∞-,上的函数()x v 的一个关系式,设∞<⎰∞+∞-dx x v 2)(,有关系式()12()(),i x v x v e d d λεπεελ+∞+∞---∞-∞=⎰⎰以上变换称为Fourier 变换。

其中1-=i 是虚数单位。

定义 2.9[8] 由第n 个时间层推进到第1n +个时间层时差分方程提供了逐点直接计算1n u j+苏佳园:二维热传导方程有限差分法的MATLAB 实现的表达式,我们称次差分方程为显式格式。

定义2.10[8] 有限差分格式在新的时间层上包含有多于一个的节点,这种有限差分格式称为隐式格式。

定义2.11[11](,)(,)(,),v x t v x t t v x t t ∆=+∆-+(,)(,)(,).v x t v x x t v x t x ∆=+∆-+称为向前差分。

定义2.12[11](,)(,)(,),v x t v x t v x t t t ∆=--∆- (,)(,)(,).v x t v x t v x x t x ∆=--∆-称为向后差分。

定义2.13[11]11(,)(,)(,),22v x t v x t t v x t t t δ=+∆--∆11(,)(,)(,).22v x t v x x t v x x t x δ=+∆--∆称为中心差分。

定义2.14[11]用微分方程的解代替差分方程的全部近似解,这样得到的方程两边的差就是截断误差。

定理2.1[8] 给定一个适定的线性初值问题以及与其相容的差分格式,则差分格式的稳定性是差分格式收敛性的充要条件。

第3章 求解二维热传导方程的基本思想基本思想是把连续的定解区域用有限个离散点构成网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数的近似;把原方程和定解条件中的微商用差商来近似,积分用积分来近似,于是原微分方程和定解条件近似的代之以代数方程,即优先差分方程组,解此方程组就可以得到原问题在离散点上的近似解。

下面是有限差分法数值计算的基本步骤:3.1区域的离散用有限差分方法求解偏微分方程问题必须把连续问题进行离散化。

为此首先要对求解区域给出网格剖分,由于求解的问题不同,因此求解区域也不尽相同。

下面用例子来说明不同区域的剖分离散。

并引入一些常用术语。

例3.1 双曲型和抛物型方程的初值问题,求解区域是{}(,),0.1D x t x t =-∞<<+∞≥我们在t x -的上半平面画出两族平行于坐标轴的直线,把上班平面分成矩形网格。

其交点称为节点(或网格点)。

可设距离0x ∆>,称其为空间步长,平行线的距离按具体问题而定。

可设距离0>∆t ,称其为时间步长。

这样两族网格线可以写作,0,1,2,x x j x jh j j ==∆==±±,0,1,2t t n t n n nτ==∆==网格节点有时记为),(n x t x 。

例3.2 双曲型和抛物型方程的初边值问题,设求解区域是{},(,)0,02D x t x l t =<<≥这个区域的网格由平行于t 轴的直线族,0,1,x x j Jj == 与平行于x 轴的直线族,0,1,2,t t n n ==苏佳园:二维热传导方程有限差分法的MATLAB 实现所构成,其中,;.lx j x h x h t n t n j n J τ=∆=∆===∆=3.2插值函数的选择选择不同的插值函数对偏微分方程进行估计,可得到不同的差分方程,进而稳定性和精度会有所不同。

用Taylor 级数展开方法是最常用的方法,下面建立差分格式的同时引入一些基本概念及术语。

我们主要从对流方程的初值问题0,,0,(,0)(),,u u a x R t tx u x g x x R ∂∂⎧+=∈>⎪∂∂⎨⎪=∈⎩ (3.1) 和扩散方程的初值问题22,,0,u ua x R t t x ∂∂=∈>∂∂ (3.2) (,0)(),.u x g x x R =∈(其中0a >)进行讨论。

假定偏微分方程初值问题的解(,)u x y 是充分官话的,由Taylor 级数展开有[][][][][][]⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧+=+=+=+=∆+=∆+=∂∂+-∂∂-∂∂-∂∂-∂∂∆-∂∂∆--+-+-+-++).(),(),(),(),(),(2),(),(2),(22),(),(),(),(),(),(22),(),(),(),(222111111111h h h h t t nj x uh t x u t x u t x u njx u h t x u t x u njx u h t x u t x u n j x u h t x u t x u nj t u t t x u t x u n j t u t t x u t x u n j n j n j n j n j n j n j n j n j n j n j n j n j οοοοοο(3.3) 其中[]n j •或用()n j•,表示看括号内的函数在节点),(n j t x 处取的值。

利用(3.3)表达式中的第1式和第3式有11(,)(,)(,)(,)[]()j n j n j n j n nj u x t u x t u x t u x t u u aa h ht xοττ++--∂∂+=+++∂∂.如果(,)u x t 是满足偏微分方程(3.1)的光滑解,则[]0.nj u u a t x∂∂+=∂∂ 由此看一看出,偏微分方程(3.1)在(,)u x t n j 处可以近似的用下面的方程来代替110,n n n nj jj ju u u u ahτ++---= (3.4)0,1,2,,0,1,2.j n =±±=其中nj u 为(,)j n u x t 的近似值。

相关文档
最新文档