文档详情

第六章边值问题差分法简介.doc

发布:2015-08-13约1.34千字共5页下载文档
文本预览下载声明
第六章 边值问题差分法简介 我们考虑如下简单边值问题。 其中,为已知函数,(为了解方程收敛)。 为已知常数。 我们要求函数,实质是关心两个数域之间的对应关系: 所以我们知道一系列对应的就足够了, 所以这类问题解决思路是将方程离散化,转化为解一个现行方程组。 首先,用分点 将区间n等分,h为步长,称为节点。 其次在[a,b]内每个内部节点 上用数值微分公式。 替代原方程中的二阶导数得在节点满足的关系是式: 注意:上式是关于未知数为的线性方程。 我们有n-1个这样的方程,组成方程组。 未知数,共n+1个。 再加上边值条件,n+1个未知数,n+1个方程,方程组封闭。 解此线性方程组,得到问题的数值解。 方程组为: 矩阵形式: 由于 所以,对角占优矩阵,用追赶法求解。 解决实际问题, 首先,用分点 将区间n等分; 再直接计算得到线性方程组出发,解之。 例:一维无限深势阱 边值问题为: 令,则有: 设a=1 故区间为[-1,1] 离散化 N=10,步长 即 常数 * 非零解= ** 解出近似本征值代入*,解出yi 白色 REAL AA(120,120),BB(120),Y(120) G(x)=-10. F(x)=0. A=-1. B=1. D1=0 D2=0 N=100 H=(B-A)/N h=0.02 ETT=-(2-h*h) ett=-1.5 write(*,*)ett=,ett DO I=1,N-1 DO J=1,N-1 AA(I,J)=0. IF(ABS(J-I).EQ.1) AA(I,J)=1. ENDDO AA(I,I)=-1.0*(2.+h*h*G(A+I*H)) BB(I)=H*H*F(A+I*H) ENDDO BB(1)=BB(1)-D1 BB(N-1)=BB(N-1)-D2 Y(1)=1.0 Y(2)=-1.0*ETT*Y(1) c y(2)=1. DO I=3,N-1 Y(I)=-1.0*Y(I-2)-ETT*Y(I-1) ENDDO DO 200 I=1,N-1 200 WRITE(*,*) A+I*H,y(I) STOP END
显示全部
相似文档