泊松方程的有限差分法的MATLAB实现

2017-07-12 13:29冯立伟徐涛屈福志
电脑知识与技术 2017年13期

冯立伟 徐涛 屈福志

摘要:泊松方程是物理及工程应用领域中一类非常重要的方程,研究其数值求解方法具有重要意义。给出了使用有限差分法求解泊松方程的计算方法,并讨论了使用MATLAB编写计算程序,使用数值算例和静电场实例进行了数值实验,实验结果与理论一致,检验了算法的有效性。

关键词:泊松方程;五点差分格式;有限差分法

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)13-0233-03

1概述

物理过程,都可用椭圆型方程来描述。其中最典型的方程是泊松(Poisson)方程。传热学中带有稳定热源或内部无热源的稳定温度场的温度分布、流体动力学中不可压缩流体的稳定无旋流动、弹性力学中平衡问题及电磁学中静电场的电势等均满足泊松方程,泊松方程也是数值网格生成技术所遵循的基本方程。因此,研究其数值求解方法具有重要意义。

MATLAB是目前应用最广泛的科学和工程计算软件。MATLAB基于矩阵运算,具有强大数值运算能力,是方便实用、功能强大的数学软件;同时,MATLAB具有强大的图形绘制功能,用户只需提供绘图数据和指定绘图方式,用很少的程序指令就可得到将计算结果转化为直观、形象的圖像。使用MAT-LAB求解微分方程已有大量的研究。因此,近些年来,越来越多的人开始使用MATLAB来求解泊松方程。利用MAT-LAB强大的数值计算能力和图形绘制技术,可以实现使用差分法求解泊松方程并绘制出数值解的二维、三维图像,从而可以更好地理解泊松方程解的物理意义。

本文讨论使用差分法通过MATLAB编程求解二维矩形区域上的泊松方程,并使用两个算例进行检验和对结果进行分析。

边界条件为

将未知解函数在内部节点上的值按行排列,组成解向量为:

3差分格式的求解

为了便于使用MATLAB编写程序,将差分方程转化为矩阵形式:

4数值实验

算例1:

为了分析和比较差分格式在不同步长下的结果,使用2范数意义下的绝对误差和相对误差作为评价指标,表1给出了步长h=0.01取不同值的绝对误差和相对误差

从表1可看出随着网格步长h的减小数值解的绝对误差和相对误差在变小。

算例2:

二维静电场问题。有一个横截面为矩形的无限长金属槽,槽的宽度为16 m,高度为10m,槽的上盖板和两侧面绝缘,盖板处电势为IOOV,两侧及下地面处电势均为0,电势函数满足泊松方程,无场源f(x)=0,使用差分格式计算槽的横截面内的电势分布,计算结果见下图。

5结论

给出了泊松方程的五点差分格式,并使用MATLAB编制求解程序,使用一个数值算例和静电场算例进行了实验,验证了方法的有效性并分析了在不同步长下的误差情况。