0111 第六章 线性方程组的数值解法
- 格式:ppt
- 大小:437.50 KB
- 文档页数:30
浅谈线性方程组的数值解法及其应用1、相关定义1.1、分形油藏基本概念定义3.1[32]:维数为的分形渗透网嵌入到d(d=2,3)维岩块中,即整个导流系统是一个分形体,称具有这种特性的油藏为分形油藏。
df 3.1.1 分形孔隙度θf和渗透率Kf (r) 假设分形体内流体储集在体积为的座点处(设每个座点体积相同),座点密度为。
分形体中,座点孔隙体积为常数。
用描述某种相应对称性(如, Vs N( r ) Vs B B= A 2π h和4π 分别描述直线对称,圆柱面对称和球对称),a为位置-浓度参数[33], 为岩块的欧几里德维数,定义分形孔隙度d θf有: θf= aBVs rdf ?d (3-1) 这说明分形网格的θf 不再是常数,而是随波及半径r 成幂律关系。
取,则有: w r =r df d f w w r θ θr θw=aVBs rwd f ? d,得到分形孔隙度= ,θw 为r = rw 处的孔隙度。
同样渗透率定义为:Kf( r)= aVsB m rd f ?d ? θ (3-2) ( ) r= rw处的渗透率Kw=aVs Bm r wdf ?d ?θ ,得到渗透率Kf r= Kw rrw d f? d ?θ 。
3.1.2 分形参数的物理意义(1)分形维数df 分形维数df 严格地是一个分形体的几何特征,是分形体复杂程度的重要标志。
一般认为,d f值不同,复杂程度也不一样。
随复杂程度加剧,d f 值会愈高。
151.2、分数阶的基本定义从十七世纪分数阶微积分诞生之日起,数学家们就不断的探讨分数阶算子的理论体系。
后经多位数学家的努力,从不同的角度入手,建立了多种不同形式的分数阶算子定义,现在主要通用的三种定义[1]形式为: (1). Grümwald-Letnikov 定义:对于任意的实数α ,记α 的整数部分为[α ] ([α ] 为小于α 的最大整数),假如函数f ( t ) 在区间[α,t ]上有m+ 1 阶连续的导数,α > 0 时, m 至少取[α ],则定义分数阶α 阶导数为: ( ) li0m 0 ( ) n G aD tα f tΔ nhh→ =t ?a h ?α i =∑ ??? ?iα ??? f t ? ih (1-1) ( )( 1)( 2) ( 1) ! i i i 其中,?α = ?α ?α + ?α + L ?α + ? 。
线性代数方程组的数值解法【实验目的】1. 学会用MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2. 通过实例学习用线性代数方程组解决简化的实际问题。
【实验内容】【题目1】通过求解线性方程组A1x=b1和A2x=b2,理解条件数的意义和方程组的性态对解的影响。
其中A1是n阶范德蒙矩阵,即⎡1x0⎢1x1⎢A1=⎢⎢⎢⎣1xn-12x0x12 2xn-1n-1⎤ x0⎥ x1n-1⎥1,...,n-1 ,xk=1+0.1k,k=0,⎥ n-1⎥ xn-1⎥⎦A2是n阶希尔伯特矩阵,b1,b2分别是A1,A2的行和。
(1)编程构造A1(A2可直接用命令产生)和b1,b2;你能预先知道方程组A1x=和A2x=。
b2的解吗?令n=5,用左除命令求解(用预先知道的解可检验程序)b1(2)令n=5,7,9,…,计算A1,A2的条件数。
为观察它们是否病态,做以下试验:b1,b2不变,A1和A2的元素A1(n,n),A2(n,n)分别加扰动ε后求解;A1和A2不变,b1,b2的分量b1(n),分析A和b的微小扰动对解的影响。
b2(n)分别加扰动ε求解。
ε取10-1010,-8,10-6。
(3)经扰动得到的解记做x~,计算误差-x~x,与用条件数估计的误差相比较。
1.1构造A1,A2和b1,b2首先令n=5,构造出A1,A2和b1,b2。
首先运行以下程序,输出A1。
运行以下程序对A1,A2求行和:由于b1,b2分别是A1,A2的行和,所以可以预知x1=运行下列程序,用左除命令对b1,b2进行求解:得到以下结果: T。
x2=(1,1, ,1)1.2 计算条件数并观察是否为病态1.不加扰动,计算条件数。
运行以下程序:由此可知,A1,A2的条件数分别是3.574∗10, 4,766∗10。
2.b1,b2不变,A1(n,n),A2(n,n)分别加扰动(1)n=5时设x11,x12,x13分别为A1添加扰动10−10,10−8,10−6后的解。
线性方程组的四种数值解法(电子科技大学物理电子学院,四川 成都 610054)摘要:本文介绍了四种求解线性方程组的数值解法: 雅克比迭代法、高斯赛德尔迭代法、高斯消去法和改进的平方根法的基本原理和算法流程,通过求解具体方程,对四种求解方法进行了对比。
对于雅克比迭代法和高斯赛德尔迭代法,研究了两种算法对求解同一方程组的迭代效率差异,结果表明高斯赛德尔迭代法达到同样精度所需迭代次数较少。
对于高斯消去法,通过选择列主元的方法提高算法的准确度,计算结果表明高斯消去法计算精确,且运算复杂度也不是很高。
对于改进的平方根法,其运算复杂度低,但对于给定的方程组有着严苛的要求。
关键词:雅克比迭代法;高斯赛德尔迭代法;高斯消去法;改进的平方根法;线性方程组引言线性方程组的求解在日常生活和科研中有着极其重要的应用,但在实际运算中,当矩阵的维数较高时,用初等方法求解的计算复杂度随维数的增长非常快,因此,用数值方法求解线性方程组的重要性便显现出来。
经典的求解线性方程组的方法一般分为两类:直接法和迭代法。
前者例如高斯消去法,改进的平方根法等,后者的例子包括雅克比迭代法,高斯赛德尔迭代法等。
这些方法的计算复杂度在可以接受的范围内,因此被广泛采用。
一般来说,直接法对于阶数比较低的方程组比较有效;而后者对于比较大的方程组更有效。
在实际计算中,几十万甚至几百万个未知数的方程组并不少见。
在这些情况下,迭代法有无可比拟的优势。
另外,使用迭代法可以根据不同的精度要求选择终止时间,因此比较灵活。
在问题特别大的时候,计算机内存可能无法容纳被操作的矩阵,这给直接法带来很大的挑战。
而对于迭代法,则可以将矩阵的某一部分读入内存进行操作,然后再操作另外部分。
本文使用上述四种算法求解对应的方程组,验证各种算法的精确度和计算速度。
1 算法介绍1.1 雅克比迭代法 1.1.1 算法理论设线性方程组(1)b Ax的系数矩阵A 可逆且主对角元素 均不为零,令并将A 分解成 (2)从而(1)可写成令其中. (3)以B 1为迭代矩阵的迭代法(公式)(4)称为雅克比(Jacobi)迭代法(公式),用向量的分量来表示,(4)为(5)其中为初始向量.1.1.2 算法描述 1给定迭代初始向量X 0以及误差要求delta 2根据雅克比迭代公式计算出下一组向量 3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.2 高斯赛德尔迭代法nna ,...,a ,a 2211()nna ,...,a ,a diag D 2211=()D D A A +-=()b x A D Dx +-=11f x B x +=b D f ,A D I B 1111--=-=()()111f x B x k k +=+⎩⎨⎧[],...,,k ,n ,...,i x a ba xnij j )k (j j i iii)k (i21021111==∑-=≠=+()()()()()Tn x ,...x ,x x 002010=1.2.1 算法理论由雅克比迭代公式可知,在迭代的每一步计算过程中是用的全部分量来计算的所有分量,显然在计算第i 个分量时,已经计算出的最新分量没有被利用,从直观上看,最新计算出的分量可能比旧的分量要好些.因此,对这些最新计算出来的第次近似的分量加以利用,就得到所谓解方程组的高斯—塞德尔(Gauss-Seidel )迭代法.把矩阵A 分解成(6)其中,分别为的主对角元除外的下三角和上三角部分,于是,方程组(1)便可以写成即其中(7)以为迭代矩阵构成的迭代法(公式)(8)称为高斯—塞德尔迭代法(公式),用变量表示的形式为(9)1.2.2 算法描述 1给定迭代初始向量X 0以及误差要求delta2根据高斯赛德尔迭代公式计算出下一组向量()k x ()1+k x ()1+k ix ()()1111+-+k i k x ,...,x 1+k()1+k x()1+k jx U L D A --=()nna ,...,a ,a diag D 2211=U ,L --A ()b Ux x L D +=-22f x B x +=()()b L D f ,U L D B 1212---=-=2B ()()221f x B x k k +=+⎩⎨⎧[],...,,k ,n ,,i x a x a b a xi j n i j )k (j ij )k (j ij i ii)k (i21021111111==∑∑--=-=+=++3判断X 是否满足误差要求,即||X k+1 – X k || < delta4若误差满足要求,则停止迭代返回结果;若否,则返回第二步进行下一轮迭代1.3 高斯消去法 1.3.1 算法理论下面三种变换称为初等行变换:1.对调两行;2.以数k ≠0乘某一行中的所有元素;3.把某一行所有元素的k 倍加到另一行对应的元素上去。
线性方程组的解法1. 背景介绍线性方程组是数学中常见的一类方程组,由一系列线性方程组成。
求解线性方程组的目标是找到满足所有方程的解。
线性方程组的解法有多种,本文将介绍其中常用的几种方法。
2. 列主元消元法列主元消元法是解线性方程组的一种常用方法。
该方法基于矩阵的行变换和列变换,通过消元得到一种简化的矩阵形式,从而求解方程组的解。
使用列主元消元法解线性方程组的步骤如下:- 将系数矩阵按列进行排序,选择绝对值最大的列作为主元列;- 交换主元所在列和第一列,同时交换方程组中的等式;- 利用第一个方程进行消元,将主元所在列下方的元素都变为0;- 重复以上步骤,直到所有主元都变成1。
列主元消元法的优点是解法简单直观,但在实际应用中可能会遇到主元为0或接近0的情况,会导致计算结果不够精确。
3. 高斯-约旦消元法高斯-约旦消元法是另一种常见的解线性方程组的方法。
该方法通过矩阵的初等行变换,将方程组化为其简化形式,从而求解解的值。
使用高斯-约旦消元法解线性方程组的步骤如下:- 将系数矩阵与等式向量合并,形成增广矩阵;- 从第一行开始,找到第一个非零元素,将其变为1,同时该列的其他元素变为0;- 重复以上步骤,直到所有非零元素都变为1且其他元素都为0。
高斯-约旦消元法的优点是消元过程更为精确,计算结果更准确。
但该方法可能会遇到矩阵行或列的交换问题,需要额外的步骤进行处理。
4. 矩阵的逆和逆矩阵法对于特定类型的线性方程组,可以使用矩阵的逆和逆矩阵法来求解。
逆矩阵是方阵的一种特殊矩阵,具有一些特殊的性质,可以用于求解线性方程组。
利用矩阵的逆和逆矩阵法求解线性方程组的步骤如下:- 对系数矩阵进行求逆操作,得到逆矩阵;- 将逆矩阵与等式向量相乘,得到解向量。
矩阵的逆和逆矩阵法在理论上是一种高效且准确的解法,但实际应用中需要先判断矩阵是否可逆,且计算逆矩阵的过程可能较为复杂。
5. 小结本文介绍了线性方程组的三种常用解法:列主元消元法、高斯-约旦消元法和矩阵的逆和逆矩阵法。