APP下载

MS.Excel在偏微分方程数值解实验和实践教学中的应用

2018-01-05古丽阿亚提·艾热提迪力热巴·买合苏提江热合买提江·依明

中国教育技术装备 2017年20期

古丽阿亚提·艾热提 迪力热巴·买合苏提江 热合买提江·依明

摘 要 在一维扩散方程加权隐式差分格式的基础上,用初始和边界条件推导确定加权隐式差分方程解的矩阵方程;用MS.Excel的矩阵运算、迭代计算和循环迭代计算功能,确定问题的数值解;巧用MS.Excel的绘制函数图像功能,实现“数”“形”及“动”的连贯形式,演示数值解的动态模拟仿真;实现交互性,建立不同加权系数确定的数值解和模拟的平台。结果显示,MS.Excel的计算结果直观、快速、准确、灵活,入门容易、简单,MS.Excel可以作为偏微分方程数值解课程实验和实践教学的一种简单、直观、高效的辅助工具。

关键词 偏微分方程;MS.Excel;实验和实践教学

中图分类号:G642.423 文献标识码:B

文章编号:1671-489X(2017)20-0040-03

Application of MS.Excel on Experimental and Practice Teaching of Numerical Solution to Partial Differential Equation//Gulayat Hayat, Dilara Mahsut, Rahmatjan Imin

Abstract Based on the weighted implicit finite scheme of one-dimen-

sional diffusion equation, use initial and boundary conditions deter-

mined matrix equations of weighted implicit finite scheme. Combined

use matrix function, iterative calculation and iteration function of MS.

Excel to calculate the numerical solution of the problem. Through drawing image and animation visually demonstrated the dynamic solution of problem by using numeric, figure and move coherently. Interactive platform was established to study numerical solution and simulation with different weighted coefficients. The result shows that

numerical results which obtained from MS.Excel are not only intui-tive, fast and accurate, flexible, but also to study easy and simple. So MS.Excel is a simple, intuitive and efficient tools for experimental and

practice teaching of Numerical Solution to Partial Differential Equation.

Key words partial differential equations; MS.Excel; experimental and practice teaching

1 前言

现实生活和实际工程中的很多现象和特性,以偏微分方程来描述。一般这些偏微分方程的形式比较复杂,很难找到解析解,要用数值计算方法离散这些方程才能确定其数值解。

作为信息与计算科学专业的重要专业课,偏微分方程数值解的主要内容之一是有限差分方法,其基本思想是先把问题的定义域进行网格剖分,然后在网格点上,按适当的数值微分公式将微商换成差商,把原问题离散化为差分格式,从而将微分方程问题转化成为相应的差分方程问题[1]。

课程内容中主要讨论不同偏微分方程的各种差分格式的推导及其收敛性和稳定性的分析,教学内容枯燥,学生的学习积极性不高,教学效果不佳,主要原因是理论教学脱离实验和实践教学。

随着我国经济发展和科学技术水平的不断提高,在教学环境中计算机已普遍使用,教学改革越来越重视理论与实验和实践的结合,越来越重视能解决实际问题的应用型人才的培养。因此,在偏微分方程数值解教学中,讲清每一个偏微分方程的实际应用背景的同时,应当加强实验和实践性教学环节,这样在启发学生的学习兴趣、增强教学效果的同时,可以不断提高学生亲自动手,用科学计算的方法解决实际问题的能力。

偏微分方程数值解的实验和实践教学是用高级计算机语言编写程序求解问题的数值解并进行数值模拟[2-3],但掌握编程语言并达到编程水平非短期所能学会。普及性较高、入门容易、操作简单的应用软件MS.Excel不仅具有一般的函数运算和图表处理功能,还有较强的循環迭代计算以及矩阵运算功能。合理正确地组合使用这些功能,可以解决很多问题[4-8]

在一维情况差分格式为显格式时,用MS.Excel的复制迭代功能可以求解问题[9-10];差分格式为隐格式时出现线性方程组,此时先求解线性方程组,然后确定问题的解,但不能实时动态显示求解结果。

本文以一维扩散方程用加权隐式差分格式求解问题为例,用MS.Excel的矩阵运算功能直接求解线性方程组,然后用MS.Excel的绘制图像和循环迭代计算功能结合求解加权隐式差分格式方程,实现实时求解,动态可视化模拟演示和交互性模板。此模板选择不同加权系数情况下,计算和模拟演示一维扩散问题,说明MS.Excel可以作为偏微分方程数值解实验和实践教学的一种简单、直观、高效的辅助工具。endprint

2 一维扩散方程加权隐式差分格式的推导

一维扩散方程:

(1)

初始和边界条件分别为:u(x,0)=g(x),a≤x≤b;u(a,t)=,u(b,t)=φ(t),t≥0。

将区域[a,b]×[0,T]进行剖分,用τ和h分别表示时间t方向和空间x方向的网格步长。其中,h=(b-a)/J,J表示内点的个数;xj=a+jh, j=0,1,...,J;τ=T/N(N为正整数),tn=nτ,n=1,2,...,N;用ujn表示方程(1)中在离散点(xj,tn)处的数值解。

对u(x,t),关于时间t,用向后差分;关于x,用中心差分,得方程(1)的差分格式:

(2)

关于时间t,用向前差分;关于x,同样用中心差分,得到方程(1)的差分格式改写成:

(3)

将θ和1-θ(0≤θ≤1)分别乘方程(2)和(3),其结果相加整理得到如下加权隐式差分格式:

其中,λ=τ/(h2),j=0,1,...,M,n=1,2,...,N。

初始条件变为:uj0=g(xj),j=0,1,...,J。边界条件变为:u1n=,uJn=φ(tn),n=1,2,...,N。

差分格式(4)的稳定性条件为:当0≤θ<0.5时,2αλ

≤1/(1-2θ);当0.5≤θ≤1时,无限制稳定[1]。差分格式(4)及初始和边界条件结合到一起写成矩阵形式,变为:

AUn=BVn-1+bn (5)

其中:

这里a1=-αλθ,a2=1+2αλθ,b1=αλ(1-θ),b2=1-2αλ(1-θ)。

3 用MS.Excel实时求解和动态模拟演示

实例 一维扩散问题:

(6)

这个问题的解析解是:

(7)

对问题(6)来说,方程(5)中的bn为零,因此不必计算。

MS.Excel求解方法 下面以上述加权隐式差分格式求解问题为例,介绍用MS.Excel进行数值求解和动态模拟演示的基本方法和步骤。

第一步:迭代计算的调试。打开空的表格,选择“文件”→“选项”→“公式”,打开迭代计算调试对话框,选择“启用迭代计算”,“最多迭代次数”调试为1,确定。

第二步:常数项和相关参数的输入。如图1所示,在打开的空表格中分别输入常数α,求解域区间a、b,计算终止时间T,加权系数θ,x方向的网格步长h,λ和时间步长τ值;当输入时间步长时,在单元格H2中按差分格式的稳定性条件输入“=IF(E2<0.5,F2^2/(2*A2)*1/(1-2*E2),

F2^2*G2)”。

第三步:循环迭代计算及计算总次数等的输入。如图2所示,在单元格K2中输入计算J的公式“=(C2-B2)/F2”,

在單元格K2中输入计算总次数N的公式“=D2/H2”,在单元格M2中输入循环迭代控制值的语句“=IF(M2

在单元格N2中输入计算当前时间语句“=2*M2*H2”。

第四步:矩阵A和矩阵B的输入。用矩阵A的计算公式,在单元格A5中输入“=1+2*A2*G2*E2”;在单元格B5中输入“=-A2*G2*E2”;在单元格A6中输入“=B5”;选择单元格区域B6:C6输入“=A5:B5”,同时按住“Shift”和“Ctrl”键确认;选择单元格区域B7:D7输入“=A6:C6”,同时按住“Shift”和“Ctrl”键确认;类次此方法输入矩阵A的其他元素。同样的方法用矩阵B的计算公式在单元格区域A16:K26内输入矩阵B的元素。

第五步:矩阵A逆的计算。选择单元格区域K5:S13,输入“=MINVERSE(A5:I13)”,同时按住“Shift”和“Ctrl”键确认,就得矩阵A的逆阵。

第六步:初始条件的输入。如图3所示,在单元格A27中输入“=B2”,在单元格A28中输入“=A27+$F$2”;用鼠标选中单元格A28,按住左键,当光标变成小十字时向下拖动至单元格A内,到出现求解区间的左边界b的值1为止,松开左键;在单元格B27中输入“=SIN(PI()*A27)”,上述同样的选择和拖动方法计算每一点的初始条件值。

第七步:输入边界条件。如图3所示,单元格C27、D27、C37和D37中相应的边界条件或边界条件的计算公式,本文中全为零。

第八步:输入第一步和第二步的公式;选择单元格区域C28:C36输入计算第一步的公式“=MMULT((K5:S13),MMULT(A16:K24,B27:B37))”,同时按住“Shift”和“Ctrl”键确认;选择单元格区域D28:D36输入计算第二步的解公式“=MMULT((K5:S13),MMULT(A16:K24,D27:D37))”,同时按住“Shift”和“Ctrl”键确认。

第九步:循环迭代计算语句的输入。再选择单元格区域C28:C36输入迭代计算公式“=IF(M2=1,MMULT((K5:S13),

MMULT(A16:K24,B27:B37)),MMULT((K5:S13),MMULT(A16:K24,

E27:E37)))”,同时按住“Shift”和“Ctrl”键确认。

第十步:解析解计算的输入。用方程(7)在单元格E27中输入“=SIN(PI()*A27)*EXP(-PI()*PI()*$N$2)”,选择和拖动方法计算相应时刻的解析解。

第十一步:数值解和解析解比较动态模拟演示。选择

“插入”→“散点图”→“带平滑和数据标志的散点图”→“添加”,在“系列名称”内填“数值解”,在“X轴系列值(X)”

内填“=Sheet!$A$27:$A$37”,在“Y轴系列值(Y)”内填

“=Sheet1!$E$27:$E$37”;再选择“添加”,在“系列名称”内填“解析解”,在“X轴系列值(X)”内填“=Sheet!$A

$27:$A$37”,在“Y轴系列值(Y)”内填“=Sheet1!$F$27:

$F$37”;按“确定”键后对图形进行修饰,得图4所示结果。

以上所说操作完成以后,按住功能键F9,随着单元格M2值的循环变化,相应时刻的数值解和解析解变化,从而“数”“形”及“动”连贯的数值解和解析解图的变化达到动态模拟演示目的。

4 结论

本文利用MS.Excel的函数运算、矩阵运算、迭代循环计算和函数图像绘制等功能,提出以扩散方程用加权隐式差分格式求数值解为例,用“数”“形”及“动”连贯直观

的动态模拟显示的方法。本方法具有很好的交互性,通过改变加权系数,对不同加权数可以进行数值计算和数值模拟,直观和方便地观察到不同加权系数对数值解的影响。最重要的是MS.Excel简单易学,不需要掌握其他软件和编程语言,能直观、快速、准确、灵活地解决问题。由于操作的简单性和直观性,激发初学者亲自动手操作的欲望,更进一步调动学习兴趣,从而提高学习效率和使用计算机解决实际问题的能力。总之,MS.Excel作为偏微分方程数值解课程实验和实践教学辅助工,具有良好的优越性、简洁性和推广性。

参考文献

[1]陆金浦,关治.偏微分方程数值解法[M].北京:清华大学出版社,2012.

[2]陈善群,廖斌,李海峰.有限差分/无网格方法耦合生成混合算法研究[J].船舶力学,2009,15(9):969-980.

[3]王飞,裴永祥.有限差分方法的MATLAB编程[J].新疆师范大學学报:自然科学版,2003,22(4):22-27.

[4]热合买提江·依明,阿合买提江·依明江.Excel在单摆运动分析中的应用[J].实验室研究与探索,2015,34(1):

113-117.

[5]王国胜,李春晓.Excel2010公式与函数辞典[M].北京:中国青年出版社,2012.

[6]袁以美.一阶偏微分方程及Excel在工程经济敏感性分析中的应用[J].广东水利电力职业技术学院学报,2013,

11(1):70-73.

[7]劳赛夫.Excel软件在偏微分方程数值求解中的应用[J].河海大学学报:自然科学版,2001,29(5):110-114.

[8]戴卫国,张伟.Excel 软件在求解偏微分方程数值解中的应用[J].重庆工业高等专科学校学报,2003,18(2):37-39.

[9]Karahan H. Unconditional stable explicit finite difference

technique for the advection–diffusion equation using spread-

sheets[J].Advances in Engineering Software,2007,38(2):80-

86.

[10]Garrido S F, García J A O, Díaz J J G. A new methodology to

teach numerical methods with MS.Excel[J].Journal of Maritime research Jmr, 2012(2):29-32.endprint