用五点有限差分格式求解椭圆型方程(偏微分方程)

用五点有限差分格式求解椭圆型方程(偏微分方程)
用五点有限差分格式求解椭圆型方程(偏微分方程)

用五点有限差分格式求解椭圆型方程(偏微分方程)

2010-04-20 22:31

function varargout=liu(varargin)

a=0;b=2;c=0;d=1;h1=1/16;h2=1/16;

f=inline('(pi^2-1)*exp(x)*sin(pi*y)','x','y');

g1x=inline('0');

g2x=inline('0');

g1y=inline('sin(pi*y)');

g2y=inline('exp(2)*sin(pi*y)');

[X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2);

mesh(X,Y,Z);

shading flat;

xlabel('X','FontSize',14);

ylabel('Y','FontSize',14);

zlabel('error','FontSize',14);

title('误差图');

function [X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2) %求解下问题

%-(u_xx+u_yy)=f(x,y) x,y 在区域内x in a

%u=g(x,y) x,y在边界上

%u=g(a,y)=g1y u=g(b,y)=g2y c=

%u=g(x,c)=g1x u=g(x,d)=g2x a

%h1离散x方向的步长

%h2离散y方向的步长

N=10000;

x=a:h1:b;

y=c:h2:d;

m=length(x);

n=length(y);

ee=0.0001;

[Y,X]=meshgrid(y,x);

Z=zeros(m,n);

U=zeros(m,n);

for i=2:m-1

U(i,1)=feval(g1x,x(i));

U(i,n)=feval(g2x,x(i));

end

for j=1:n

U(1,j)=feval(g1y,y(j));

U(m,j)=feval(g2y,y(j));

end

%while true

%下为雅克比迭代法

%---------------------------------------------------------------------- for k=1:N

U0=U;

for i=2:m-1

for j=2:n-1

U(i,j)=(feval(f,x(i),y(j))+1/h2^2*U0(i,j-1)+1/h1^2*U0(i-1,j)...

+1/h1^2*U0(i+1,j)+1/h2^2*U0(i,j+1))/(2/h1^2+2/h2^2);

end

end

if max(max(abs(U0-U)))

break

end

end

%-----------------------------------------------------

for i=2:m-1

for j=2:n-1

qu=f0(x(i),y(j));

Z(i,j)=abs(qu-U(i,j));

end

end

function z=f0(x,y)

%精确解函数

z=exp(x)*sin(pi*y);

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

用差分法解椭圆型偏微分方程 -(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0kmax) break; end if(max(max(t))

差分法求解偏微分方程MAAB

南京理工大学 课程考核论文 课程名称:高等数值分析 论文题目:有限差分法求解偏微分方程 姓名:罗晨 学号: 成绩: 有限差分法求解偏微分方程 一、主要内容 1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程:具体求解的偏微分方程如下: 2.推导五种差分格式、截断误差并分析其稳定性; 3.编写MATLAB程序实现五种差分格式对偏微分方程的求解及误差分析;

4.结论及完成本次实验报告的感想。 二、推导几种差分格式的过程: 有限差分法(finite-differencemethods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。 推导差分方程的过程中需要用到的泰勒展开公式如下: ()2100000000()()()()()()()......()(()) 1!2!! n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+-(2-1) 求解区域的网格划分步长参数如下: 11k k k k t t x x h τ ++-=?? -=?(2-2) 2.1古典显格式 2.1.1古典显格式的推导 由泰勒展开公式将(,)u x t 对时间展开得 2,(,)(,)( )()(())i i k i k k k u u x t u x t t t o t t t ?=+-+-?(2-3) 当1k t t +=时有 21,112,(,)(,)( )()(())(,)()() i k i k i k k k k k i k i k u u x t u x t t t o t t t u u x t o t ττ+++?=+-+-??=+?+?(2-4) 得到对时间的一阶偏导数 1,(,)(,)()=()i k i k i k u x t u x t u o t ττ+-?+?(2-5) 由泰勒展开公式将(,)u x t 对位置展开得 223,,21(,)(,)()()()()(())2!k i k i k i i k i i u u u x t u x t x x x x o x x x x ??=+-+-+-??(2-6) 当11i i x x x x +-==和时,代入式(2-6)得

第十章-偏微分方程数值解法

第十章 偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §1 差分方法的基本概念 1.1 几类偏微分方程的定解问题 椭圆型方程:其最典型、最简单的形式是泊松(Poisson )方程 ),(22 2 2y x f y u x u u =??+??=? 特别地,当 0),(≡y x f 时,即为拉普拉斯(Laplace )方程,又称 为调和方程 22 22 =??+??=?y u x u u Poisson 方程的第一边值问题为 ?? ?? ?Ω ?=Γ=Ω∈=??+??Γ∈),(),(),(),(),(22 22y x y x u y x y x f y u x u y x ? 其中 Ω为以Γ为边界的有界区域,Γ为分段光滑曲线, ΓΩY 称为定解区域,),(y x f ,),(y x ?分别为Ω,Γ上的已知连 续函数。 第二类和第三类边界条件可统一表示为

),(),(y x u u y x ?α=??? ? ??+??Γ∈n 其中n 为边界Γ的外法线方向。当0=α时为第二类边界条件, 0≠α时为第三类边界条件。 抛物型方程:其最简单的形式为一维热传导方程 2 20(0)u u a a t x ??-=>?? 方程可以有两种不同类型的定解问题: 初值问题 ?? ???+∞ <<∞-=+∞<<-∞>=??-??x x x u x t x u a t u )()0,(,00 22 ? 初边值问题 2 212 00,0(,0)()0(0,)(),(,)()0u u a t T x l t x u x x x l u t g t u l t g t t T ????-=<<<

Matlab PDE工具箱有限元法求解偏微分方程

在科学技术各领域中,有很多问题都可以归结为偏微分方程问题。在物理专业的力学、热学、电学、光学、近代物理课程中都可遇见偏微分方程。 偏微分方程,再加上边界条件、初始条件构成的数学模型,只有在很特殊情况下才可求得解析解。随着计算机技术的发展,采用数值计算方法,可以得到其数值解。 偏微分方程基本形式 而以上的偏微分方程都能利用PDE工具箱求解。 PDE工具箱 PDE工具箱的使用步骤体现了有限元法求解问题的基本思路,包括如下基本步骤: 1) 建立几何模型 2) 定义边界条件 3) 定义PDE类型和PDE系数 4) 三角形网格划分

5) 有限元求解 6) 解的图形表达 以上步骤充分体现在PDE工具箱的菜单栏和工具栏顺序上,如下 具体实现如下。 打开工具箱 输入pdetool可以打开偏微分方程求解工具箱,如下 首先需要选择应用模式,工具箱根据实际问题的不同提供了很多应用模式,用户可以基于适

当的模式进行建模和分析。 在Options菜单的Application菜单项下可以做选择,如下 或者直接在工具栏上选择,如下 列表框中各应用模式的意义为: ① Generic Scalar:一般标量模式(为默认选项)。 ② Generic System:一般系统模式。 ③ Structural Mech.,Plane Stress:结构力学平面应力。 ④ Structural Mech.,Plane Strain:结构力学平面应变。

⑤ Electrostatics:静电学。 ⑥ Magnetostatics:电磁学。 ⑦ Ac Power Electromagnetics:交流电电磁学。 ⑧ Conductive Media DC:直流导电介质。 ⑨ Heat Tranfer:热传导。 ⑩ Diffusion:扩散。 可以根据自己的具体问题做相应的选择,这里要求解偏微分方程,故使用默认值。此外,对于其他具体的工程应用模式,此工具箱已经发展到了Comsol Multiphysics软件,它提供了更强大的建模、求解功能。 另外,可以在菜单Options下做一些全局的设置,如下 l Grid:显示网格 l Grid Spacing…:控制网格的显示位置 l Snap:建模时捕捉网格节点,建模时可以打开 l Axes Limits…:设置坐标系范围 l Axes Equal:同Matlab的命令axes equal命令 建立几何模型 使用菜单Draw的命令或使用工具箱命令可以实现简单几何模型的建立,如下 各项代表的意义分别为

用五点有限差分格式求解椭圆型方程(偏微分方程) 程序2

用五点有限差分格式求解椭圆型方程(偏微分方程)程序2 2010-04-29 10:33 function varargout=liu(varargin) a=0;b=2;c=0;d=1;h1=1/16;h2=1/16; f=inline('(pi^2-1)*exp(x)*sin(pi*y)','x','y'); g1x=inline('0'); g2x=inline('0'); g1y=inline('sin(pi*y)'); g2y=inline('exp(2)*sin(pi*y)'); [X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2); mesh(X,Y,Z); shading flat; xlabel('X','FontSize',14); ylabel('Y','FontSize',14); zlabel('error','FontSize',14); title('误差图'); function [X,T,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2) %求解下问题 %-(u_xx+u_yy)=f(x,y) x,y 在区域内x in a

%h2离散y方向的步长 N=10000; x=a:h1:b; y=c:h2:d; m=length(x); n=length(y); ee=0.00001; [X,T]=meshgrid(x,y); Z=zeros(n,m); U=zeros(n,m); for i=2:m-1 U(1,i)=feval(g1x,x(i)); U(n,i)=feval(g2x,x(i)); end for j=1:n U(j,1)=feval(g1y,y(j)); U(j,m)=feval(g2y,y(j)); end %while true %下为高斯赛德尔迭代法 %---------------------------------------------------------------------- for k=1:N

课程名称(中文)偏微分方程数值解专题

课程名称(中文):偏微分方程数值解专题 课程名称(英文):Some topics on numerical solutions of partial differential equations 一)课程目的和任务:有限差分方法是微分方程定解问题的最广泛的数值方法之一,其基本思想是用差商近似代替导数,用有限个未知量的差分方程组的解作为微分方程定解问题的解。本课程旨在介绍非线性抛物和椭圆型方程的有限差分方法的最新进展,并简单介绍在实际模型问题中的应用。 本课程是为计算数学专业二年级研究生开设的一门专业选修课程,也可作为其它专业研究生的选修课程。其主要目的是使学生了解不同非线性定解问题的有限差分格式的构造方法,掌握有限差分方法的基本理论和一些数值分析技巧,使他们对这一方法能够有清晰和全面的了解,并能应用于实际问题的数值模拟和数值计算。通过对本课程的学习,进一步丰富微分方程定解问题的数值方法,掌握有限差分方法的最新进展,也为学习进一步的专业知识打下坚实的基础。 主要内容:本课程以非线性抛物型和椭圆型方程的定解问题为例,介绍有限差分格式的构造方法,同时介绍相应数值分析的基本方法和技巧,也简单讨论有限差分解的一些性质。所有内容基本都是本课题的最新研究进展。具体内容如下: 第一章:非线性椭圆边值问题的有限差分方法。本章主要介绍非线性椭圆边值问题的差分解法,给出一些定性分析,包括解的存在唯一性、收敛性和误差估计,同时介绍分析非线性差分方程组的上下解方法以及求解的单调迭代算法; 第二章:非线性抛物初边值问题的有限差分方法。本章主要介绍非线性抛物边值问题的差分解法,包括一些定性分析,如解的存在唯一性、收敛性和误差估计,同时介绍分析非线性差分方程组的上下解方法以及求解的单调迭代算法; 第三章:依赖于时间数值解的渐近性。本章着重介绍非线性抛物初边值问题有限差分解的长时间渐近性,稳定性及在实际模型问题中的应用; 第四章:非线性椭圆方程组的有限差分方法。本章主要介绍非线性椭圆型方程组的有限差分解法,着重介绍分析非线性差分方程组的上下解方法以及求解的单调迭代算法。 第五章:非线性抛物方程组的有限差分方法。本章主要介绍非线性抛物型方程组的有限差分解法,介绍分析非线性差分方程组的上下解方法以及求解的单调迭代算法。除此之外,还介绍特别介绍有限差分解的长时间渐近性,稳定性及在实际模型问题中的应用。 二)预备知识:数值代数、数值逼近、微分方程数值解、泛函分析。 三)教材及参考书目: 教材:自编讲义,2012. 参考书目:1) C.V. Pao, Nonlinear Parabolic and Elliptic Equations, Plenum Press, New York, 1992. 2) A. Berman, R. Plemmons, Nonnegative Matrix in the Mathematical Science, Academic Press, New York, 1979. 四)讲授大纲(中英文) 第一章非线性椭圆边值问题的有限差分方法 1)有限差分方程 2)上下解方法 3)单调迭代算法 4)上下解的构造方法

椭圆型方程的有限元法

两点边值问题有限元法(必做) 从Galerkin 原理出发用线性元解两点边值问题: "2,01(0)(1)0u u x x u u ?-+=<

有限差分法的Matlab程序(椭圆型方程)

有限差分法的Matlab程序(椭圆型方程) function FD_PDE(fun,gun,a,b,c,d) % 用有限差分法求解矩形域上的Poisson方程 tol=10^(-6); % 误差界 N=1000; % 最大迭代次数 n=20; % x轴方向的网格数 m=20; % y轴方向的网格数 h=(b-a)/n; % x轴方向的步长 l=(d-c)/m; % y轴方向的步长 for i=1:n-1 x(i)=a+i*h; end % 定义网格点坐标 for j=1:m-1 y(j)=c+j*l; end % 定义网格点坐标 u=zeros(n-1,m-1); %对u赋初值 % 下面定义几个参数 r=h^2/l^2; s=2*(1+r); k=1; % 应用Gauss-Seidel法求解差分方程 while k<=N % 对靠近上边界的网格点进行处理 % 对左上角的网格点进行处理 z=(-h^2*fun(x(1),y(m-1))+gun(a,y(m-1))+r*gun(x(1),d)+r*u(1,m-2)+u(2,m-1))/s; norm=abs(z-u(1,m-1)); u(1,m-1)=z; % 对靠近上边界的除第一点和最后点外网格点进行处理 for i=2:n-2 z=(-h^2*fun(x(i),y(m-1))+r*gun(x(i),d)+r*u(i,m-2)+u(i+1,m-1)+u(i-1,m-1))/s; if abs(u(i,m-1)-z)>norm; norm=abs(u(i,m-1)-z); end u(i,m-1)=z; end % 对右上角的网格点进行处理 z=(-h^2*fun(x(n-1),y(m-1))+gun(b,y(m-1))+r*gun(x(n-1),d)+r*u(n-1,m-2)+u(n-2,m-1))/s; if abs(u(n-1,m-1)-z)>norm norm=abs(u(n-1,m-1)-z); end u(n-1,m-1)=z; % 对不靠近上下边界的网格点进行处理 for j=m-2:-1:2 % 对靠近左边界的网格点进行处理

大连理工大学 高等数值分析 椭圆方程差分法

椭圆方程差分法 1 矩形网上差分方程 考虑二阶椭圆型偏微分方程的第一边值问题 (1.1) ()()()?????=∈=+++--Γy x y x u y x F Eu Du Cu u u y x yy xx ,,,αG 其中C ,E D ,是常数;0≥E ;()()G C 0,∈=y x F F ;(,)x y α是给定的光滑函数。假设(5.1)存在光滑的唯一解。 为简单起见,假设G 是矩形区域,其四个边与相应坐标轴平行。考虑矩形网格:1h 和2h 分别为x 和y 方向的步长,h G 为网格内点节点集合,h Γ为网格边界点集合,=h G h G h Γ。 对于内点()j i y x ,h G ∈用如下的差分方程逼近(1.1) (1.2) 21 ,1,12h u u u j i ij j i -++---221,1,2h u u u j i ij j i -++-+1,1,12h u u C j i j i -+-+21,1,2h u u D j i j i -+-+ij Eu =ij F 其中),(j i ij y x F F =。(1.2)通常称为五点差分格式。 用(1.1)的真解(,)u x y 在网点上的值(,)i j u x y 、1(,)i j u x y -等等分别替换(1.2)中的ij u 、1,i j u -等等,然后在(,)i j x y 点处作Tailor 展开,便知(1.2)逼近(1.1) 的截断误差阶为() 2221h h O +。 方程(1.2)可以改写为 (1.3) j i a ,1-j i u ,1-+j i a ,1+j i u ,1++1,-j i a 1,-j i u +1,+j i a 1,+j i u +j i a ,j i u ,ij F = 对每一内点都可以列出这样一个方程。遇到边界点时,因为边界点u 的函数值已知,将相应的项挪到右端去。最后,得到一个以u 的内点近似值为未知数的线性方程组。这个方程组是稀疏的,并且当1h 和2h 足够小时是对角占优的。 可以证明,五点差分格式关于右端和初值都是稳定的,收敛阶为2212()O h h +。

有限差分法求解偏微分方程复习进程

有限差分法求解偏微 分方程

有限差分法求解偏微分方程 摘要:本文主要使用有限差分法求解计算力学中的系统数学模型,推导了有限差分法的 理论基础,并在此基础上给出了部分有限差分法求解偏微分方程的算例验证了推导的正确性及操作可行性。 关键词:计算力学,偏微分方程,有限差分法 Abstract:This dissertation mainly focuses on solving the mathematic model of computation mechanics with finite-difference method. The theoretical basis of finite-difference is derived in the second part of the dissertation, and then I use MATLAB to program the algorithms to solve some partial differential equations to confirm the correctness of the derivation and the feasibility of the method. Key words:Computation Mechanics, Partial Differential Equations, Finite-Difference Method

1 引言 机械系统设计常常需要从力学观点进行结构设计以及结构分析,而这些分析的前提就是建立工程问题的数学模型。通过对机械系统应用自然的基本定律和原理得到带有相关边界条件和初始条件的微分积分方程,这些微分积分方程构成了系统的数学模型。 求解这些数学模型的方法大致分为解析法和数值法两种,而解析法的局限性众所周知,当系统的边界条件和受载情况复杂一点,往往求不出问题的解析解或近似解。另一方面,计算机技术的发展使得计算更精确、更迅速。因此,对于绝大多数工程问题,研究其数值解法更具有实用价值。对于微分方程而言,主要分为差分法和积分法两种,本论文主要讨论差分法。 2 有限差分法理论基础 2.1 有限差分法的基本思想 当系统的数学模型建立后,我们面对的主要问题就是微分积分方程的求解。基本思想是用离散的只含有限个未知量的差分方程组去近似地代替连续变量的微分方程和定解条件,并把差分方程组的解作为微分方程定解问题的近似解。将原方程及边界条件中的微分用差分来近似,对于方程中的积分用求和或及机械求积公式来近似代替,从而把原微分积分方程和边界条件转化成差分方程组。有限差分法求解偏微分方程的步骤主要有以下几步: 区域离散,即把所给偏微分方程的求解区域细分成由有限个格点组成的网格,这些离散点称作网格的节点;

第九章 偏微分方程差分方法

170 第9章 偏微分方程的差分方法 含有偏导数的微分方程称为偏微分方程。由于变量的增多和区域的复杂性,求偏微分方程的精确解一般是不可能的,经常采用数值方法求方程的近似解。偏微分方程的数值方法种类较多,最常用的方法是差分方法。差分方法具有格式简单,程序易于实现,计算量小等优点,特别适合于规则区域上偏微分方程的近似求解。本章将以一些典型的偏微分方程为例,介绍差分方法的基本原理和具体实现方法。 9.1椭圆型方程边值问题的差分方法 9.1.1 差分方程的建立 最典型的椭圆型方程是Poisson (泊松)方程 G y x y x f y u x u u ∈=??+??-≡?-),(),,()(2222 (9.1) G 是x ,y 平面上的有界区域,其边界Γ为分段光滑的闭曲线。当f (x ,y )≡0时,方程 (9.1)称为Laplace(拉普拉斯)方程。椭圆型方程的定解条件主要有如下三种边界条件 第一边值条件 ),(y x u α=Γ (9.2) 第二边值条件 ),(y x n u β=??Γ (9.3) 第三边值条件 ),()( y x ku n u γ=+??Γ (9.4) 这里,n 表示Γ上单位外法向,α(x,y ),β(x,y ),γ(x,y )和k (x,y )都是已知的函数,k (x,y )≥0。满足方程(9.1)和上述三种边值条件之一的光滑函数u (x ,y )称为椭圆型方程边值问题的解。 用差分方法求解偏微分方程,就是要求出精确解u (x ,y )在区域G 的一些离散节点(x i ,y i )上的近似值u i ,j ≈(x i ,y i )。差分方法的基本思想是,对求解区域G 做网格剖分,将偏微分方程在网格节点上离散化,导出精确解在网格节点上近似值所满足的差分方程,最终通过求解差分方程,通常为一个线性方程组,得到精确解在离散节点上的近似值。 设G ={0

用五点有限差分格式求解椭圆型方程(偏微分方程) 程序3

用五点有限差分格式求解椭圆型方程(偏微分方程)程序3 2010-06-16 06:55 function varargout=liu(varargin) a=0;b=2;c=0;d=1;h1=1/32;h2=1/32; x=a:h1:b; y=c:h2:d; m=length(x); n=length(y); C=tri1(-1/h1^2,2*(1/h1^2+1/h2^2),-1/h1^2,n-2); D=-1/h1^2*eye(n-2); AA=tri2(D,C,D,m-2); BB=fc1t(a,b,c,d,h1,h2); XX=AA\BB; UU=zeros(m,n); for r=1:m for j=1:n UU(r,j)=fU(x(r),y(j)); end end UL=UU; for r=2:m-1 UL(r,2:n-1)=XX((r-2)*(n-2)+1:(r-1)*(n-2)); end

[Y,X]=meshgrid(y,x); Z=abs(UL-UU); mesh(Y,X,Z); shading flat; xlabel('X','FontSize',14); ylabel('Y','FontSize',14); zlabel('error','FontSize',14); title('误差图') %求解下问题 %-(u_xx+u_yy)=f(x,y) x,y 在区域内x in a

椭圆型方程的有限差分法

第4章 椭圆型方程的有限差分法 §2 一维差分格式 1、用积分插值法导出逼近微分方程的差分格式。 d du du Lu=-(p )+r +qu=f,a

五点差分法解椭圆型偏微分方程

用差分法解椭圆型偏微分方程 -(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0kmax) break; end if(max(max(t))

椭圆方程数值解

j. 椭圆方程数值解法 本章考虑椭圆微分方程数值解法。首先以二维二阶椭圆方程为例,给出矩形网和三角网上的差分法。然后以一维二阶椭圆方程为例,简要描述有限元法的基本思想。 J.1 矩形网上差分方程 考虑二维区域(区域=连通的开集)G 上的二阶椭圆型偏微分方程第一边值问题 (j.1) ()()() ,,,xx yy x y u u Cu Du Eu F x y u x y x y αΓ?--+++=∈?? =??G 其中C ,E D ,是常数;0≥E ;()()G C 0,∈=y x F F ;(,)x y α是给定的光滑函数; Γ是G 的边界;G =ΓG 。假设(J.1)存在光滑的唯一解。 考虑一种简单情形,即求解区域G 是矩形区域,并且其四个边与相应坐标轴平行。令1h 和2h 分别为x 和y 方向的步长,用平行于坐标轴的直线段分割区域 G ,构造矩形网格: h G 为网格内点节点集合,h Γ为网格边界节点集合,=h G h G h Γ。 对于内点()j i y x ,h G ∈,用如下的差分方程逼近微分方程(J.1): (J.2) 1,1,,1,1 1,1,,1,1 2 2 212 1 2 2222i j ij i j i j ij i j i j i j i j i j ij ij u u u u u u u u u u C D Eu F h h h h +++-+-+--+-+--- - +++=其中),(j i ij y x F F =。(J.2)通常称为五点差分格式。 方程(J.2)可以整理改写为 (J.3) j i a ,1-j i u ,1-+j i a ,1+j i u ,1++1,-j i a 1,-j i u +1,+j i a 1,+j i u +j i a ,j i u ,ij F = 对每一内点()j i y x ,都可以列出这样一个方程。方程中遇到边界点时,注意到边界点上函数值u 已知,将相应的项挪到右端去。最后得到以u 的内点近似值为未知数的线性方程组。这个方程组是稀疏的,并且当1h 和2h 足够小时是对角占优的。

用五点有限差分格式求解椭圆型方程(偏微分方程)

用五点有限差分格式求解椭圆型方程(偏微分方程) 2010-04-20 22:31 function varargout=liu(varargin) a=0;b=2;c=0;d=1;h1=1/16;h2=1/16; f=inline('(pi^2-1)*exp(x)*sin(pi*y)','x','y'); g1x=inline('0'); g2x=inline('0'); g1y=inline('sin(pi*y)'); g2y=inline('exp(2)*sin(pi*y)'); [X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2); mesh(X,Y,Z); shading flat; xlabel('X','FontSize',14); ylabel('Y','FontSize',14); zlabel('error','FontSize',14); title('误差图'); function [X,Y,Z]=chfenmethed(f,g1x,g2x,g1y,g2y,a,b,c,d,h1,h2) %求解下问题 %-(u_xx+u_yy)=f(x,y) x,y 在区域内x in a

%h2离散y方向的步长 N=10000; x=a:h1:b; y=c:h2:d; m=length(x); n=length(y); ee=0.0001; [Y,X]=meshgrid(y,x); Z=zeros(m,n); U=zeros(m,n); for i=2:m-1 U(i,1)=feval(g1x,x(i)); U(i,n)=feval(g2x,x(i)); end for j=1:n U(1,j)=feval(g1y,y(j)); U(m,j)=feval(g2y,y(j)); end %while true %下为雅克比迭代法 %---------------------------------------------------------------------- for k=1:N

椭圆型偏微分方程实验报告

实验报告 实验项目名称椭圆型偏微分方程 实验室数学实验室 所属课程名称微分方程数值方法 实验类型算法设计 实验日期2014年6月6日 班级 学号 姓名 成绩 实验概述: 【实验目的及要求】 实验目的是通过分析Possion问题并用交替迭代法来求解其次边值问题,进一步了解交替迭代法的算法特点——即在矩形区域上的差分格式可以大大降低计算量。实验要求是利用Peaceman-Rachford迭代格式编写出相应的代

码解决Possion问题。 【实验原理】 对于简单的椭圆型偏微分方程 Poission 方程: 采用正方形网格剖分正方形区域Ω ,对 x 和 y 方向采用中心差分并记则对Poission方程离散后差分格式可写成; 改写为 由此得Peaceman-Rachford 迭代格式为 其分量形式为 将以上两步写成矩阵形式,第一步迭代为: 第二步迭代为:

这里的 gij 和 gij 分别为 迭代参数可取为: 实际上每个迭代步相当于解N ?1个系数矩阵为三对角阵的N ?1阶线性代数方程组,可用追赶法求解。 【实验环境】(使用的软硬件) 软件: MATLAB 2012a 硬件: 电脑型号:联想 Lenovo 昭阳E46A笔记本电脑 操作系统:Windows 8 专业版 处理器:Intel(R)Core(TM)i3 CPU M 350 @2.27GHz 2.27GHz 实验内容: 【实验方案设计】 利用Peaceman-Rachford迭代格式求解

求解域Ω : 0 ≤ x, y ≤ 1,其精确解为u = sin πx sin πy。 首先利用上述原理进行分析,从而利用Matlab软件编写出相应程序。 【实验过程】(实验步骤、记录、数据、分析) 我们首先编写一个m文件,包含交替方向迭代法程序如下: function u=alter(a0,b0,f,h) %输入-a0为x,y方向起始端点; %-b0为x,y方向终点; %-f为方程右端函数; %-h为网格步长; %输出-u为解矩阵。 p=200; N=fix((b0-a0)/h); u=zeros(N+1); v=zeros(N+1); g=zeros(N+1); x=a0:h:b0; y=x; tau=h*h/(2*sin(pi*h)); a=-tau*ones(1,N-2); c=a; d=(h*h+2*tau)*ones(1,N-1); for k=1:p err=0; for i=2:N for j=2:N g(i,j)=(h*h-2*tau)*u(i,j)+tau*(u(i,j+1)+u(i,j-1)+h*h*f(x(i),y(j))); end

偏微分方程数值解法

偏微分方程数值解法 Prepared on 22 November 2020

第十章偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §1差分方法的基本概念 几类偏微分方程的定解问题 椭圆型方程:其最典型、最简单的形式是泊松(Poisson)方程 特别地,当 ) , (≡ y x f 时,即为拉普拉斯(Laplace)方程,又 称 为调和方程 Poisson方程的第一边值问题为 其中Ω为以Γ为边界的有界区域,Γ为分段光滑曲线, ΓΩ 称为定解区域, ) ,(y x f , ) , (y x ? 分别为Ω,Γ上的已知 连续函数。 第二类和第三类边界条件可统一表示为 其中n 为边界Γ的外法线方向。当0 = α时为第二类边界条件,0 ≠ α时为第三类边界条件。 抛物型方程:其最简单的形式为一维热传导方程方程可以有两种不同类型的定解问题: 初值问题

初边值问题 其中 ) (x ? , )( 1 t g , )( 2 t g 为已知函数,且满足连接条件 边界条件 )( ),( ), ( ),0( 2 1 t g t l u t g t u= = 称为第一类边界条 件。 第二类和第三类边界条件为 其中 )( 1 ≥ t λ , )( 2 ≥ t λ 。当 )( )( 2 1 ≡ =t tλ λ 时,为第二 类边界条件, 否则称为第三类边界条件。 双曲型方程: 最简单形式为一阶双曲型方程 物理中常见的一维振动与波动问题可用二阶波动方程 描述,它是双曲型方程的典型形式。方程的初值问题为 边界条件一般也有三类,最简单的初边值问题为 差分方法的基本概念 差分方法又称为有限差分方法或网格法,是求偏微分方程定解问题的数值解中应用最广泛的方法之一。 它的基本思想是:先对求解区域作网格剖分,将自变量的连续变化区域用有限离散点(网格点)集代替;将问题中出现的连续变量的函数用定义在网格点上离散变量的函数代替;通过用网格点上函数的差商代替导数,将含连续变量的偏微分方程定解问题化成只含有限个未知数的代数方程组(称为差分格式)。如果差分格式有解,且当网格无限变小时其解收敛于原微分方程定解

相关文档
最新文档