两点边值问题的有限差分法
- 格式:docx
- 大小:83.03 KB
- 文档页数:8
有限差分法有限差分法(Finite Differential Method, FDM )什么是有限差分法 有限差分法是指用泰勒技术展开式将变量的导数写成变量,在不同时间或空间点值的差分形式的方法。
按时间步长和空间步长将时间和空间区域剖分成若干网格,用未知函数在网格结(节)点上的值所构成的差分近似代替所用偏微分方程中出现的各阶导数,从而把表示变量连续变化关系的偏微分方程离散为有限个代数方程,然后解此线性代数方程组,以求出溶质在各网格结(节)点上不同时刻的浓度。
有限差分法的基本步骤(1)剖分渗流区,确定离散点。
将所研究的水动力弥散区域按某种几何形状(如矩形、任意多边形等)剖分成网络系统。
(2)建立水动力弥散问题的差分方程组。
(3)求解差分方程组。
采用各种迭代法,如点逐次超松驰方法(SOR)、线逐次超松驰方法(LSOR)、迭代的交替方向隐式方法(IADI)及强隐式方法(SID)等。
(1) 现在分别对时间(从0时刻到到期日)和股票价格(S max )为可达到的足够高的股票价格)进行分割,即\triangle S=S_{max}/M,\triangle T/N,这样就分别有N+1个时间段和M+1个股票价格,建立如图(所示的坐标方格,将定解区域网格化,坐标方格上的点(i,j )对应时刻和股票价格,用变量f i ,j 表示(i,j )点的期权价格。
2.建立差分格式(1)内含的有限差分方法其步骤可分为以下几步:(1)求前向差分近似:(2) 后向差分格式:(3)将(2),(3)式平均可更加对称地求出的近似,即(4)(2)求用前向差分近似:(5)(3)求(6)(4)将(4),(5),(6)式代入(1)式可得到内含有限差分公式:+ b j f i,j−c j f i,j + 1 = f i + 1,j(7)aj f i,j− 1其中:i=0,1,…,N-1。
j=0,1…,M-1针对看跌期权和看涨期权可分别求出方程的边界条件:看跌期权:看涨期权:(5)利用边界条件和(7)式可以给出M-1个联立方程组:+ b j f N− 1,j + c j f N− 1,j + 1j=1,2…,M-1aj f N− 1,j− 1求解这M-1个联立方程组即可以求出期权价格,但对美式看跌期权时我们必须考虑其提前执行的情况。
学生实验报告实验课程名称偏微分方程数值解开课实验室数统学院学院数统年级2021专业班信计2班学生姓名学号开课时间2021 至2021学年第2学期数学与统计学院制开课学院、实验室:数统学院实验时间:2021年月日1,...,1i N =-,网点处准确解记为[]i u ,1,...,1i N =-。
然后计算相应的误差[]0max Ni i ci Ne u u <<=-,[]121N Ni i i e h u u -==-∑及收敛阶()2ln ln 2NNe e ,将计算结果填入第五局部的表格,并对表格中的结果进展解释?4. 将数值解和准确解画图显示,每种网格上的解画在一图。
三.实验原理、方法〔算法〕、步骤1. 差分格式:=-1/h^2(-()+)+()/2h+=A,2. 局部阶段误差: (u)=O(h^2)3.程序clear allN=10; a=0;b=1;p=(x) 1; r=(x) 2; q=(x) 3; alpha=0;beta=1;五.实验结果及实例分析NN ce收敛阶N e收敛阶10 0.00104256 …… 0.00073524 …… 20 0.00026168 1.9341 0.00018348 1.4530 40 0.00006541 2.0001 0.00004585 2.0000 80 0.00001636 1.9993 0.00001146 2.0000 1600.000004092.00000.000002872.0000N 越大 只会使绝对误差变小,方法没变,所以收敛阶一致。
图示为:(绿线为解析解,蓝线为计算解)N=10N=20N=40N=80N=160。
有限差分法有限差分法finite difference method微分方程和积分微分方程数值解的方法。
基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。
然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。
有限差分法的主要内容包括:如何根据问题的特点将定解区域作网格剖分;如何把原微分方程离散化为差分方程组以及如何解此代数方程组。
此外为了保证计算过程的可行和计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分格式的相容性、收敛性和稳定性。
对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。
另外,一个差分格式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。
此外,还有一个重要的概念必须考虑,即差分格式的稳定性。
因为差分格式的计算过程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。
前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以控制的,就认为格式是稳定的。
只有在这种情形,差分格式在实际计算中的近似解才可能任意逼近差分方程的精确解。
关于差分格式的构造一般有以下3种方法。
最常用的方法是数值微分法,比如用差商代替微商等。
另一方法叫积分插值法,因为在实际问题中得出的微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。
此外还可以用待定系数法构造一些精度较高的差分格式。
有限差分法快速傅里叶变换有限差分法和快速傅里叶变换是两种在科学计算中常用的数值计算方法。
它们在不同领域有着广泛的应用,可以提高计算效率,减少计算成本,是求解偏微分方程和信号处理的重要工具。
首先,让我们来了解有限差分法。
有限差分法是一种常见的数值计算方法,用于解决偏微分方程。
它的核心思想是将连续的偏微分方程转化为离散的差分方程。
通过将偏微分方程在空间和时间上进行离散化,可以将其转化为一个线性代数方程组,然后使用数值计算方法求解。
有限差分法在植物生长模拟、地球物理学、金融工程等领域得到广泛应用。
以偏微分方程的边值问题为例,有限差分法首先将问题的定义域进行网格化,然后使用差分近似替代连续的导数,得到一个离散的差分方程。
通过对差分方程进行迭代求解,可以得到偏微分方程的数值解。
有限差分法的优点是简单易实现,计算较为直观,但相对精度较低。
接下来,我们来介绍快速傅里叶变换。
快速傅里叶变换(FFT)是一种高效的计算傅里叶变换的方法。
傅里叶变换是将信号在时域和频域之间进行转换的方法,它在信号处理、图像处理和数据压缩等领域有着重要应用。
FFT通过将离散时间傅里叶变换(DFT)分解成多个较小的DFT,从而大大提高了计算效率。
它的基本原理是将长度为N的序列分为两个长度为N/2的子序列,然后对子序列进行递归运算,最终将结果合并得到最终的频谱。
FFT的时间复杂度为O(NlogN),相较于直接计算DFT的O(N^2),计算速度大大提高。
需要注意的是,FFT要求输入序列的长度是2的整数次幂,不满足条件时需要进行数据填充或截断。
此外,FFT还有许多变种和优化算法,如快速Hadamard变换和快速余弦变换等。
有限差分法和快速傅里叶变换是数值计算中两个重要的方法。
它们分别在不同领域展现出强大的计算能力。
有限差分法在模拟偏微分方程和求解边值问题中有着广泛应用,而快速傅里叶变换在信号处理和频谱分析等方面发挥着重要作用。
熟练掌握这两种方法,可以提高计算效率,解决实际问题,并在科学研究中发挥更大的作用。
有 限 差 分 法流体运动的控制方程多为偏微分方程,在复杂的情况下不存在解析解。
但是对于一些简单的情况存在解析解,偏微分方程的解析解可用精确的数学表达式表示,该表达式给出了因变量在整个定义域中的连续变化状况。
有限差分法(Finite Difference Method ,FDM )是数值计算中比较经典的方法,由于其计算格式直观且计算简便,因此被广泛地应用在计算流体力学中。
有限差分法首先将求解区域划分为差分网格,变量信息存储在网格节点上,然后将偏微分方程的导数用差商代替,代入微分方程的边界条件,推导出关于网格节点变量的代数方程组,通过求解代数方程组,获得偏微分方程的近似解。
偏微分方程被包含离散点未知量的代数方程所替代,这个代数方程能求出离散节点处的变量,这种离散方法叫做有限差分法。
2.1有 限 差 分 逼 近2.1.1 有限差分网格 由于有限差分法求解的是网格节点上的未知量值,因此首先介绍有限差分网格。
图2.1 – 1是x-y 平面上的矩形差分网格示意图。
在x 轴方向的网格间距为△x ,在y 轴方向的网格间距为△y ,网格的交点称为节点,计算变量定义在网格节点上。
称△x 和△y 为空间步长,△x 一般不等于△y ,且△x 和△y 也可以不为常数。
取各方向等距离的网格,可以大大简化数学模型推导过程,并且经常会取得更加精确的数值解。
本章作为计算流体力学入门知识,假设沿坐标轴的各个方向网格间距分别相等,但是并不要求各方向的网格间距一致。
例如假设△x 和△y 是定值,但是不要求△x 等于△y 。
在图2.1 - 1中,网格节点在x 方向用i 表示,在y 方向用j 表示。
因此,假如(i ,j )是点P 在图2.1 – 1中的坐标,那么,点P 右边的第一个点的就可以用(i+1,j )表示;在P 左边的第一个点的就可以用(i —1,j )表示;点P 上边的第一个点的就可以用(i ,j+1)表示;点P 下边的第一个点的就可以用(i ,j —1)表示。
本科毕业设计常熟理工学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的本科毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
本人签名:日期:常熟理工学院本科毕业设计(论文)使用授权说明本人完全了解常熟理工学院有关收集、保留和使用毕业设计(论文)的规定,即:本科生在校期间进行毕业设计(论文)工作的知识产权单位属常熟理工学院。
学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业设计(论文)被查阅和借阅;学校可以将毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业设计(论文),并且本人电子文档和纸质论文的内容相一致。
保密的毕业设计(论文)在解密后遵守此规定。
本人签名:日期:导师签名:日期:泰勒公式在二阶两点边值问题求解方法上的应用摘要本文主要讨论利用泰勒展开公式求解二阶线性常微分方程问题. 首先介绍泰勒公式的相关知识;其次,基于泰勒展开公式,提出一种求解线性二阶线性常微分方程问题初值问题的新方法;然后,通过结合提出的求解线性二阶线性常微分方程问题初值问题的方法和打靶方法, 提出一种求解线性二阶线性常微分方程问题边值问题的数值方法;最后通过数值算例来验证所提数值方法的有效性.关键词:泰勒展开式二阶线性常微分方程两点边值问题近似解Taylor formula in the second order two-point boundary value problemsolving the application of the methodAbstractThis thesis mainly discusses numerical methods for solving second order linear ordinary differential equations by using Taylor's expansion formula. Firstly, some theory of Taylor's expansion formula is introduced. Secondly, a numerical method for solving second order linear initial value problems is proposed. Thirdly, a numerical method for solving second order linear two-point boundary value problems is developed by combining the method for initial value problems and shooting method. Finally, numerical examples are provided to show the validity of the present methods.Key Words: Taylor's expansion; Second order linear ordinary differential equations; Two–point boundary value problems; Approximate solution目录1. 引言 (1)1.1微分方程边值问题的介绍 (1)1.2 二阶两点边值问题的介绍 (2)2. 泰勒公式简介 (4)2.1泰勒公式简介 (4)2.2泰勒公式的应用 (5)3.二阶线性初值问题 (7)3.1求解方法 (7)3.2数值算例 (8)4.二阶线性两点边值问题的求解方法 (10)4.1求解方法 (10)4.2数值算例 (11)结语 (13)参考文献 (14)致谢 (15)1 引言1.1微分方程边值问题的介绍微分方程是现代数学中的一个很重要的分支,从早期的微积分时代起,这个学科就成为了理论研究和实践应用的一个重要领域。
两点边值问题的三类边值条件的有限元解法实现作者:卢仁洋于陆洋江山来源:《高教学刊》2018年第05期摘要:文章研究二阶微分方程的两点边值问题,使用有限元方法对三类不同的边值条件具体进行讨论和处理。
对于可齐次化的Dirichlet、Neumann边值,给出相应分析以简化和规范计算步骤。
对于Robin边值,基于之前的分析给出实现技巧以达到有效的数值模拟。
关键词:有限元方法;Dirichlet边值;Neumann边值;Robin边值中图分类号:O172 文献标志码:A 文章编号:2096-000X(2018)05-0058-03Abstract: A two-point boundary value problem of the second-order ordinary differential equation is studied in this paper, and a finite element method is used to deal with three kinds of boundary conditions in detail. The corresponding analysis is provided to simplify and standardize the steps for the homogeneous Dirichlet, Neumann boundary values. For the Robin boundary value,we utilize the previous analyses to present a specific strategy for a good performance in numerical simulations.Keywords: finite element method; Dirichlet boundary; Neumann boundary; Robin boundary一、本文模型及介绍二阶微分方程的两点边值问题是科学工程计算中的经典问题,也是微分数值解法的必要基础[1,2]。
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人
学生实验报告
实验课程名称偏微分方程数值解 _________________
开课实验室___________ 数统学院 ____________________
学院数统年级2013专业班信计2班
学生姓名_________ 学号________
开课时间2015至2016学年第2 学期
数学与统计学院制
.实验内容
考虑如下的初值问题:
定常数。
部分。
0, b 1 , p 3,r 1,q 2 ,
0 ,
1,问题(1)的精确解 ux
x 2e x 1 ,
及p 1,r 2,q 3带入方程(1)可得f x 。
分别取
并能通过计算机语言编程实现。
.实验目的
通过该实验,要求学生掌握求解两点问题的有限差分法, 开课学院、实验室: 数统学院
实验时间:2016年 月 日
Lu
d du x —p x ------------ dx dx
du x
dx q
f x , x a, b (1)
其中 p x C 1 a,b ,
x ,q a,b
P min 0 , q x 0 ,,是给
将区间N 等分, 网点x
1.在第三部分写出问题(
1)和 (2)的差分格式,并给出该格式的局部截断
2.根据你写出的差分格式, 编写一个有限差分法程序。
将所写程序放到第四
3.给定参数a 其中将u x
N 10,20,40,80,160 ,用所编写的程序计算问题 (1)和⑵。
将数值解记为
5 ,
i 1,...,N 1,网点处精确解记为i
1,…,N 1。
然后计算相应的误差
1 l
N
/I 2 Nil
h u i U i 2及收敛阶
n e
: e 11,将计算结果填入 I i
In 2
第五部分的表格,并对表格中的结果进行解释?
4.将数值解和精确解画图显示,每种网格上的解画在一张图。
三•实验原理、方法(算法)、步骤
1. 差分格式:
L L .i=-1/h A 2O
|]
(% 曲汀—):i.「)/2h+w =
応=A,匕
2. 局部阶段误差:
n (u)=O(hA2)
3. 程序
clear all N=10; a=0;b=1;
P=@(x) 1; r=@(x) 2; q=@(x) 3; aIpha=0;beta=1;
f=@(x) (4*xA2-2)*exp(x-1);
h=(b-a)/N;
H=zeros(N-1,N-1);g=zeros(N-1,1);
%
for i=1
H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1/2)*h))/h+2*h*q(a+i*h);
max u i c 0 i N
i
i U i
N
e
H(i,i+1)=-(2*p(a+(i+1/2)*h)/h-r(a+i*h));
g(i)=2*h*f(a+i*h)+(2*p(a+(i-1/2)*h)/h+r(a+i*h))*alpha;
end
for i=2:N-2
H(i,i-1)=-(2*p(a+(i-1/2)*h)/h+r(a+i*h));
H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1 /2)*h))/h+2*h*q(a+i*h);
H(i,i+1)=-(2*p(a+(i+1/2)*h)/h-r(a+i*h));
g(i)=2*h*f(a+i*h);
end
for i=N-1
H(i,i-1)=-(2*p(a+(i-1/2)*h)/h+r(a+i*h));
H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1 /2)*h))/h+2*h*q(a+i*h); g(i)=2*h*f(a+i*h)+(2*p(a+(i+1 /2)*h)/h-r(a+i*h))*beta; end
u=H\g;
u=[alpha;u;beta];
x=a:h:b;
y=(x.A2).*exp(x-1);
plot(x,u);
hold on
plot(x,y);
y=y'
z=y-u
四•实验环境(所用软件、硬件等)及实验数据文件
Matlab
五•实验结果及实例分析
N越大只会使绝对误差变小,方法没变,所以收敛阶一致。
图示为:(绿线为解析解,蓝线为计算解)N=10
N=20
■
1
N=40
1
os
0 8
0 7
0.6
05
04
□ 3
a?
a 1
Q
03 04 05 06 07 03 03 N=80
N=160
共享知识分享快乐
教师签名
年月日。