计算方法-6.1Gauss消去法

合集下载

Gauss列主元素消去法实验

Gauss列主元素消去法实验

Lab06.Gauss 列主元素消去法实验【实验目的和要求】1.使学生深入理解并掌握Gauss 消去法和Gauss 列主元素消去法步骤; 2.通过对Gauss 消去法和Gauss 列主元素消去法的程序设计,以提高学生程序设计的能力;3.对具体问题,分别用Gauss 消去法和Gauss 列主元素消去法求解。

通过对结果的分析比较,使学生感受Gauss 列主元素消去法优点。

【实验内容】1.根据Matlab 语言特点,描述Gauss 消去法和Gauss 列主元素消去法步骤。

2.编写用不选主元的直接三角分解法解线性方程组Ax=b 的M 文件。

要求输出Ax=b 中矩阵A 及向量b ,A=LU 分解的L 与U ,det A 及解向量x 。

3.编写用Gauss 列主元素消去法解线性方程组Ax=b 的M 文件。

要求输出Ax=b 中矩阵A 及向量b 、PA=LU 分解的L 与U 、det A 及解向量x ,交换顺序。

4.给定方程组(1) ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--11134.981.4987.023.116.427.199.103.601.3321x x x(2) ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----15900001.582012151********.23107104321x x x x 先用编写的程序计算,再将(1)中的系数3.01改为3.00,0.987改为0.990;将(2)中的系数2.099999改为2.1,5.900001改为9.5,再用Gauss 列主元素消去法解,并将两次计算的结果进行比较。

【实验仪器与软件】1.CPU 主频在1GHz 以上,内存在128Mb 以上的PC ;2.Matlab 6.0及以上版本。

实验讲评:实验成绩:评阅教师:200 年 月 日Lab06.Gauss 列主元素消去法实验第一题:1、算法描述:Ⅰ、Gauss 消去法由书上定理5可知 设Ax=b ,其中A ∈R^(n(1)如果()0(1,2,....,1)k kka k n ≠=-,则可通过高斯消去法将Ax=b 约化为等价的 角形线性方程组,且计算公式为:① 消元计算(k=1,2,….,n-1)()()(1)()()(1)()()/,1,...,,,,1,...,,,1,...,.k k ik ik kk k k k ij ij ik kj k k k iiik k m a a i k n a a m a i j k n b b m b i k n ++==+=-=+=-=+② 回带公式()()()()()1/,()/,1,...,2,1.n n n n nn ni i i i iii j ii j i x b a x ba x a i n =+==-=-∑(2)如果A 为非奇异矩阵,则可通过高斯消去法将方程组Ax=b 约化方程组为上三角矩阵以上消元和回代过程总的乘除法次数为332333nn nn +-≈,加减法次数为32353263nnn n+-≈以上过程就叫高斯消去法。

高斯列主元消去法

高斯列主元消去法

高斯列主元消去法2.3高斯列主元消去法解线性方程组一:问题的提出我们都知道,高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的方法。

就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的准确解的一类方法。

实际运算的时候因为只能有限小数去计算,因此只能得到近似值。

在实际运算的时候,我们很多时候也常用高斯消去法。

但是高斯消去法在计算机中运算的时候常会碰到两个问题。

1.一旦遇到一些主元等于0,消元过程便无法进行下去。

2.在长期使用中还发现,即使消元过程能进行下去,但是当一些主元的绝对值很小时,求解出的结果与真实结果相差甚远。

为了避免高斯消去法消元过程中出现的上述两个问题,一般采用所谓的选择主元法。

其中又可以分为列选主元和全面选主元两种方法。

目前计算机上常用的按列选主元的方法。

因此我在这里做的也是列选主元高斯消去法。

二、算法的基本思想大家知道,如果一个线性方程组的系数矩阵是上三角矩阵时,即这种方程组我们称之为上三角方程组,它是很容易求解的。

我们只要把方程组的最下面的一个方程求解出来,在把求得的解带入倒数第二个方程,求出第二个解,依次往上回代求解。

然而,现实中大多数线性方程组都不是上面所说的上三角方程组,所以我们有可以把不是上三角的方程通过一定的算法化成上三角方程组,由此我们可以很方便地求出方程组的解。

高斯消元法的目的就是把一般线性方程组简化成上三角方程组。

于是高斯消元法的基本思想是:通过逐次消元将所给的线性方程组化为上三角形方程组,继而通过回代过程求解线性方程组。

三、算法的描述1、设有n元线性方程组如下:=2、第一步:如果a11!=0,令li1= ai1/a11, I= 2,3,……,n用(-li1)乘第一个方程加到第i个方程上,得同解方程组:a(1)11a(1)12...a(1)1nx1b(1)1a(1)21a(1)22...a(1)2nx2b(1)2 .......=.a(1)n-11 a(1)n-12 . .a(1)n-1nxn-1b(1)n-1a(1)n1a(1)n2. . . a(1)nnxnb(1)n简记为:A(2)x=b(2)其中a(2)ij = a(1)ij – li1 a(1)1j ,I ,j = 2,3,..,nb(2)I = b(1)I – li1 b(1)1 ,I = 2,3,...,n第二步:如果a(2)22!=0,令li2= a(2)i2/a(2)22, I= 3,……,n依据同样的原理,对矩阵进行化间(省略),依次下去,直到完成!最后,得到上三角方程组:a(1)11a(1)12...a(1)1nx1b(1)1a(1)22 ...a(1)2nx2b(1)2 .......=.. .a(n-1)n-1nxn-1b(n-1)n-1. . . a(n)nnxnb(n)n简记为:A(n)x=b(n)最后从方程组的最后一个方程进行回代求解为:n = b(n) / a(n)nni = ( b(k)k - a(k)kjxj ) / a(k)kk以上为高斯消去法的基本过程。

第四章 第一节 Gauss消元法

第四章 第一节 Gauss消元法

选主元的一种简单办法是,第 k 步消元时,在 A( k ) 的第 k列 (k ) 元素 aik (i k ) 中选取绝对值最大者作为主元,并将其对换到 k , k 位置上,然后再进行消元计算,这样选取的主元叫列主元。
另一种选主元的办法是选所谓全主元,也就是在第 k 步消 ( 元时,从 A( k ) 的右下方 n k 1 阶矩阵的所有元素 aijk ) (i, j k ) 中, 选取绝对值最大者作为主元,并将其对换到 (k , k ) 位置上,再做 消元计算。
主对角元以下的元素全化为0,得
1 1 a11 a12 a11 b11 n 2 2 2 a22 a2 n bn a 2 a 2 b 2 n2 nm n

A , b
左乘 ( A(2) , b(2) ), 即
M (2) ( A(2) , b(2) ) A(3) , b(3)
就是说,每消元一步相当于对方程组的增广矩阵左 乘以相应的矩阵 M ( k ) , 此处
1 0 0 0 0 0 1 0 0 0 0 1 mn , k 0 0 0 0 0 0 1 0 0 1
第一节 Gauss 消元法
一、引言 二、Gauss 消元法的基本思想
三、
主元消元法
四、 Gauss 消元法的矩阵形式 五、小结
一、引言
在自然科学和工程技术问题中,涉及到许多数值计算 问题,最终都要归结为解线性代数方程组 AX b 。其中 A Rnn , b Rn , A 是可逆的。本章和下一章分别讨论解方程 组的直接方法和迭代方法。所谓直接方法就是通过有限次 的精确运算能得到真解的一类数值方法。从本质上讲,直 接方法的原理是找到一个可逆矩阵 M ,使得 MA 是一个上 三角阵,这个过程称为“消元”过程。消元之后再进行 MAX “回代”,即求解 Mb 。实际计算过程中,不必明显 M MA 地计算出矩阵 ,而只须把 Mb和 计算出来。这类直接 Gauss Gauss 方法中最基本和最简单的就是 消元法,本章首先讨论 消元法和矩阵分解法,以及 Gauss 消元法在各种情况下的 变形,并分析其误差。

Guass列选主元消去法和三角分解法

Guass列选主元消去法和三角分解法

Guass列选主元消去法和三⾓分解法 最近数值计算学了Guass列主消元法和三⾓分解法解线性⽅程组,具体原理如下:1、Guass列选主元消去法对于AX =B1)、消元过程:将(A|B)进⾏变换为,其中是上三⾓矩阵。

即:k从1到n-1a、列选主元选取第k列中绝对值最⼤元素作为主元。

b、换⾏c、归⼀化d、消元2)、回代过程:由解出。

2、三⾓分解法(Doolittle分解)将A分解为如下形式由矩阵乘法原理a、计算U的第⼀⾏,再计算L的第⼀列b、设已求出U的1⾄r-1⾏,L的1⾄r-1列。

先计算U的第r⾏,再计算L的第r列。

a)计算U的r⾏b)计算L的r列C#代码: 代码说明:Guass列主消元法部分将计算出来的根仍然储存在增⼴矩阵的最后⼀列,⽽Doolittle分解,将分解后的结果也储存⾄原来的数组中,这样可以节约空间。

using System;using System.Windows.Forms;namespace Test{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Cannel_Button_Click(object sender, EventArgs e){this.textBox1.Clear();this.textBox2.Clear();this.textBox3.Clear();boBox1.SelectedIndex = -1;}public double[,] GetNum(string str, int n){string[] strnum = str.Split(' ');double[,] a = new double[n, n + 1];int k = 0;for (int i = 0; i < n; i++){for (int j = 0; j < strnum.Length / n; j++){a[i, j] = double.Parse((strnum[k]).ToString());k++;}}return a;}public void Gauss(double[,] a, int n){int i, j;SelectColE(a, n);for (i = n - 1; i >= 0; i--){for (j = i + 1; j < n; j++)a[i, n] -= a[i, j] * a[j, n];a[i, n] /= a[i, i];}}//选择列主元并进⾏消元public void SelectColE(double[,] a, int n){int i, j, k, maxRowE;double temp; //⽤于记录消元时的因数for (j = 0; j < n; j++){maxRowE = j;for (i = j; i < n; i++)if (System.Math.Abs(a[i, j]) > System.Math.Abs(a[maxRowE, j]))maxRowE = i;if (maxRowE != j)swapRow(a, j, maxRowE, n); //与最⼤主元所在⾏交换//消元for (i = j + 1; i < n; i++){temp = a[i, j] / a[j, j];for (k = j; k < n + 1; k++)a[i, k] -= a[j, k] * temp;}}return;}public void swapRow(double[,] a, int m, int maxRowE, int n){int k;double temp;for (k = m; k < n + 1; k++){temp = a[m, k];a[m, k] = a[maxRowE, k];a[maxRowE, k] = temp;}}public void Doolittle(double[,] a, int n){for (int i = 0; i < n; i++){if (i == 0){for (int j = i + 1; j < n; j++)a[j, 0] = a[j, 0] / a[0, 0];}else{double temp = 0, s = 0;for (int j = i; j < n; j++){for (int k = 0; k < i; k++){temp = temp + a[i, k] * a[k, j];}a[i, j] = a[i, j] - temp;}for (int j = i + 1; j < n; j++){for (int k = 0; k < i; k++){s = s + a[j, k] * a[k, i];}a[j, i] = (a[j, i] - s) / a[i, i];}}}}private void Exit_Button_Click(object sender, EventArgs e){this.Close();}private void Confirm_Button_Click(object sender, EventArgs e){if (this.textBox2.Text.Trim().ToString().Length == 0){this.textBox2.Text = this.textBox1.Text.Trim();}else{this.textBox2.Text = this.textBox2.Text + "\r\n" + this.textBox1.Text.Trim();}this.textBox1.Clear();}private void Calculate_Button_Click(object sender, EventArgs e){string str = this.textBox2.Text.Trim().ToString();string myString = str.Replace("\n", " ").Replace("\r", string.Empty);double[,] a = new double[this.textBox2.Lines.GetUpperBound(0) + 1, this.textBox2.Lines.GetUpperBound(0) + 2];a = GetNum(myString, this.textBox2.Lines.GetUpperBound(0) + 1);if (boBox1.Text == "Guass列主消元法"){Gauss(a, this.textBox2.Lines.GetUpperBound(0) + 1);for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++){this.textBox3.Text = this.textBox3.Text + "\r\nX" + (i + 1) + "=" + a[i, this.textBox2.Lines.GetUpperBound(0) + 1]; }}else if (boBox1.Text == "Doolittle三⾓分解法"){this.textBox3.Enabled = true;Doolittle(a, this.textBox2.Lines.GetUpperBound(0) + 1);bel3.Text = "分解后的结果:";this.textBox3.Clear();this.textBox3.Text += "L矩阵:\r\n";for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++) {for (int j = 0; j < this.textBox2.Lines.GetUpperBound(0) + 1; j++) {if (j < i){this.textBox3.Text += a[i, j].ToString() + "\t";}else if (i == j){this.textBox3.Text += "1\t";}else{this.textBox3.Text += "0\t";}}this.textBox3.Text += "\r\n";}this.textBox3.Text += "\r\nU矩阵:\r\n";for (int i = 0; i < this.textBox2.Lines.GetUpperBound(0) + 1; i++) {for (int j = 0; j < this.textBox2.Lines.GetUpperBound(0) + 1; j++) {if (j >= i){this.textBox3.Text += a[i, j].ToString() + "\t";}else{this.textBox3.Text += "0\t";}}this.textBox3.Text += "\r\n";}}}private void textBox1_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Enter){if (this.textBox1.Text.Trim().ToString().Length == 0){Calculate_Button_Click(sender, e);}else{Confirm_Button_Click(sender, e);}}}private void button1_Click(object sender, EventArgs e){this.textBox2.Enabled = true;}}} 运⾏截图: ⾄此完毕。

计算方法 Gauss 消去法ch05a r

计算方法 Gauss 消去法ch05a r
xn bn an , xi bi
mik aik akk
(
j i 1
a x)
ij j
n
aii , i n 1, ..., 2,1
19
PLU 分解
列主元 Gauss 消去法对应的矩阵分解为 PLU 定理:若 A 非奇异,则存在排列矩阵 P,使得 PA = LU 其中 L 为单位下三角矩阵,U 为上三角矩阵
A( k )
( k = 1, …, n-1)
( k 1)
则 其中:
A(k) 与
A(k+1) 之间的关系式可以表示为:
A
1 1 Lk mk 1, k 1 mn,k 1
Lk A
(k)
(k) (k) mik aik akk
4
预备知识
预备知识
向量与矩阵
特征值与特征向量
Ax x
矩阵的谱:
( C , x C n , x 0)
(A) = { A 的所有特征值 }
矩阵的谱半径: ( A) max ( A )
矩阵的迹: tr( A) a11 a22 ann
aij 0 for i j 1
a11 a 21 a12 a22 a32 a13 a23 a33 an, n1 a1n a2 n a3 n ann
7
性质
定理 1 定理 2 定理 3 定理 4
(解的存在唯一性,教材 141 页) (对称正定矩阵的性质,教材 141 页) (对称正定矩阵的充分条件,教材 141 页) (Jordan 标准型,教材 141 页)
x3 1 x2 8 7 x3 1 x1 2 2x2 2x3 2

gauss列主元素消去法matlab

gauss列主元素消去法matlab

高斯列主元素消去法是一种解线性方程组的常用方法,特别在数值分析和线性代数中应用广泛。

在Matlab中,我们可以使用该方法来解决大规模的线性方程组,包括矩阵的求解和矩阵的反转。

一、高斯列主元素消去法的基本原理高斯列主元素消去法是一种基于矩阵消元的方法,它通过一系列的矩阵变换将原始的线性方程组转化为上三角形式,然后再进行回代求解。

这个方法的核心就是通过矩阵的变换来简化原始的线性方程组,使得求解过程更加简单高效。

在Matlab中,我们可以利用矩阵运算和函数来实现高斯列主元素消去法,如`lu`分解函数和`\"`运算符等。

通过这些工具,我们能够快速地求解各种规模的线性方程组并得到准确的结果。

二、高斯列主元素消去法在Matlab中的实现在Matlab中,我们可以通过调用`lu`函数来实现高斯列主元素消去法。

该函数返回一个上三角矩阵U和一个置换矩阵P,使得PA=LU。

通过对U进行回代求解,我们可以得到线性方程组的解。

除了`lu`函数之外,Matlab还提供了一些其他的函数和工具来帮助我们实现高斯列主元素消去法,比如`\"`运算符和`inv`函数等。

通过这些工具的组合使用,我们能够更加灵活地进行线性方程组的求解,并且可以方便地处理特殊情况和边界条件。

三、高斯列主元素消去法的应用与局限性高斯列主元素消去法在实际应用中具有广泛的适用性,特别是对于大规模的线性方程组或者稀疏矩阵的求解。

通过Matlab中的工具和函数,我们可以快速地求解各种规模的线性方程组,并得到高精度的数值解。

然而,高斯列主元素消去法也存在一些局限性,比如对于奇异矩阵或者接近奇异矩阵的情况时,该方法的求解精度可能会下降。

在实际应用中,我们需要结合具体的问题和矩阵特性来选择合适的求解方法,以确保得到准确的结果。

四、个人观点和总结作为一种经典的线性方程组求解方法,高斯列主元素消去法在Matlab 中具有较好的实现和应用效果。

通过对其原理和实现细节的深入理解,我们能够更加灵活地应用该方法,并且能够更好地理解其适用性和局限性。

Gauss顺序消去法解线性方程组报告

Gauss顺序消去法解线性方程组报告

Gauss 顺序消去法解线性方程组制作人:陈静Gauss 消去法是解线性方程组的一种直接方法,有时也称为精确法,这种算法只包含有限四次运算,并且在每一步运算过程都不会发生舍入误差的假设下,计算的结果就是方程组的精确解。

但实际计算中不可避免舍入误差的存在和影响,所以这种方法只能求得线性方程组的近似解。

一.实验目的:学会用Gauss 顺序消去法解线性方程组。

二.实验要求:线性方程组中≠-)1(k kk a 0.三.顺序消去法解方程组原理:(1) 消元计算:对k=1,2, ,n-1⎪⎪⎩⎪⎪⎨⎧+=-=+=-=+==++),,1(),,1,(),,1()()()1()()()1()()(n k i b l b b n k j i a l a a n k i a a l k k ik k i k ik kj ik k ij k ij k kk k ik ik(2) 回代计算:⎪⎩⎪⎨⎧-=-==∑+=)1,2,,1()()(1)()()()( n i a x a b x a b x i ii n i j j i ij i i i n nn n n n四.顺序消去法解方程组的解题步骤:设有线性代数方程组Ax = b其中A = ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡nn n n n n a a a a a a a a a .....................212222111211,x = ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n x x x 21,b = ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n b b b 21. 为了清晰起见,将方程组写成如下形式⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++.,,)1()1(2)1(21)1(1)1(2)1(22)1(221)1(21)1(1)1(12)1(121)1(11n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 第一步 设)1(11a ≠0,首先计算乘数 )1(11)1(11a a l i i =(i=2,3, ,n ). 用-1i l 乘上述方程组的第一个方程,再加到第i 个(i=2,3, ,n )方程上,消 去上述方程组的第二个方程到第n 个方程中的未知数1x ,得与上述方程组等价的方程组⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)2()2(2)2(2)2(22)1(1)1(12)1(11nn n n n a a a a a a a ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n x x x 21 = ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)2()2(2)1(1n b b b 简记为x A )2(=)2(b ,其中)2(A 、)2(b 的元素计算公式为⎩⎨⎧=-===-=.,,3,2,,,2,,,2,)1(11)1()2()1(11)1()2(n i b l b b n i n j a l a a i i i j i ij ij 第二步 仿照第一步的做法以此类推,到第n 步便得到与上述方程组等价的方程组⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)2(22)1(1)1(12)1(11n nn n n a a a a a a ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡n x x x 21 = ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡))22)1(1n n b b b 以上两步为高斯顺序消去法的消去过程。

列主元素Gauss消去法Jacobi迭代法原理及计算方法

列主元素Gauss消去法Jacobi迭代法原理及计算方法

一、 列主元素Gauss 消去法、Jacobi 迭代法原理及计算方法1. 列主元素Gauss 消去法:1.1 Gauss 消去法基本原理设有方程组Ax b =,设A 是可逆矩阵。

高斯消去法的基本思想就是将矩阵的初等行变换作用于方程组的增广矩阵[]B A b = ,将其中的A 变换成一个上三角矩阵,然后求解这个三角形方程组。

1.2 列主元Gauss 消去法计算步骤将方程组用增广矩阵[]()(1)ijn n B A b a ⨯+== 表示。

1). 消元过程对1,2,,1k n =-(1) 选主元,找{},1,,k i k k n ∈+ 使得 ,max k i k ik k i na a ≤≤= (2) 如果,0k i k a =,则矩阵A 奇异,程序结束;否则执行(3)。

(3) 如果k i k ≠,则交换第k 行与第k i 行对应元素位置,k kj i j a a ↔,,,1j k n =+ 。

(4) 消元,对,,i k n = ,计算/,ik ik kk l a a =对1,,1j k n =++ ,计算.ij ij ik kj a a l a =-2). 回代过程(1) 若0,nn a =则矩阵奇异,程序结束;否则执行(2)。

(2) ,1/;n n n nn x a a +=对1,,2,1i n =- ,计算,11/n i i n ij j ii j i x a a x a +=+⎛⎫=- ⎪⎝⎭∑2. Jacobi 迭代法2.1 Jacobi 迭代法基本原理Jacobi 迭代法的基本思想是对n 元线性方程组b Ax =,.,n n R b R A ∈∈将其变形为等价方程组f Bx x +=,其中.,,n n n n R x R f R B ∈∈∈⨯B 成为迭代矩阵。

从某一取定的初始向量)0(x 出发,按照一个适当的迭代公式 ,逐次计算出向量f Bx x k k +=+)()1( ( 1,0=k ),使得向量序列}{)(k x 收敛于方程组的精确解.(1)输入1,,,,)0(=k n xb A ε,. (2) )(1,1)0()1(∑≠=-=n j i i j ij i iii x a b a x )1,0(n i = (3)判断 ε≤--≤≤)0()1(10max i i n i x x ,若是,输出1)1(2)1(1,,n x x x ,若否,置1+=k k ,)1()0(i i x x =,)2,1(n i =。

Gauss消元法解解线性方程组

Gauss消元法解解线性方程组

摘要本文叙述了Gauss 顺序消元法解线性方程的算法思想以及其求解过程,同时简要叙述了Gauss 主元素消元法以及Gauss 全主元消元法。

紧接着给出了Gauss Seidel -迭代法的算法思想,本文给出了这三个消元方法以及一个迭代法的算法流程图,由于全主元消元法是前两个算法的基础上改进而来,故本文采用第三种方法进行编程计算,前两种方法不再重复编程,然后给出一个实例的计算结果,运行时间,在文章最后分析该实例的计算结果,针对同一实例,又采用Gauss Seidel -方法编程实现,然后对结果进行分析和对比。

最后给出了本人在编程时遇到的一些问题和解决办法。

关键词:Gauss 顺序消元法 Gauss 主元素消元法 Gauss 全主元消元法一、算法的简要描述1.1Gauss 顺序消元法Gauss 消元法在中学里已经学习过,其方法实质,就是运用初等变换,将线性方程组Ax b =转化为同解的上三角矩阵方程组1Ux L b -=(1.1.1)其中,U 为上三角矩阵,L 为下三角矩阵。

然后对式(1.1.1)进行回代求解,即得方程组的解。

手算的过程是非常清楚的,现在需回答的是计算机求解,如何实现上述计算过程。

设线性方程组为1111221331121122223322112233n n n n n n n nn n na x a x a x a xb a x a x a x a x b a x a x a x a x b +++⋅⋅⋅+=⎧⎪+++⋅⋅⋅+=⎪⎨⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⎪⎪+++⋅⋅⋅+=⎩ 写成矩阵形式为1112111212222221222m m m n n a a a x b aa a xb a a a x b ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦(1.1.2)设线性方程组如上式所示,记(1)A A =,(1)b b =,与是增广矩阵具有形式(1)(1)[][]A b A b =,此时方程组为(1)(1)A x b =。

计算方法 第六章 解线性方程组的消去法

计算方法 第六章 解线性方程组的消去法

x2
a x (k 1) 2k k
a x (k 1) 2,k 1 k 1
a(k 1n
1)
xn
a(k 1) 1,n1
a(k 1) 2n
xn
a(k 1) 2,n1
xk
1
a x (k 1) k 1,k k
a x (k 1) k 1,k 1 k 1
a x a (k1) k 1,n n
(k 1) k 1,n1
便可从(6.6)i中消去xk,从而归结为(6.8)i的形式,
为此需要进行的计算是
a a -a a (k)
(k1) (k 1) (k )
ij
ij
ik kj
j k 1,k 2, ,n 1
这里i k,即i 1, 2, , k 1, k 1, , n
——6.9
算式(6.7)、(6.9)是关于下标k的递推公式,对第一步, 即k=1时,所要得到的方程组(6.6)的原始形式是所给方 程组(6.5),因此令系数
x a a x (n1)
( n 1)
n1
n1,n1 n1,n n
x2
a(2) 2,n1
a(2) 2,n
xn
a(2) 2,n1
xn1
x1
a(1) 1,n1
a(1) 1,n
xn
a x (1) 1,n1 n1
a(2) 23
x3
a(1) 12
x2

n
xk
a(k) k ,n1
a(k kj
)
x
j
jk 1
k n, n 1, ,1 ——6.17
ann xn an,n1
——6.5
第一步:同约当方法一样,先将第一个方程中x1的系 数化为1,得

gauss消去法求解方程组matlab

gauss消去法求解方程组matlab

高斯消去法是一种用于求解线性方程组的经典方法,它可以通过矩阵的初等变换将方程组化为上三角形式,然后通过回代的方式求解方程组。

在Matlab中,我们可以利用高斯消去法求解方程组,这样可以更加高效地进行数值计算。

下面我们将简要介绍高斯消去法的原理,并通过Matlab代码演示如何使用高斯消去法求解方程组。

一、高斯消去法原理及步骤高斯消去法是一种通过矩阵的初等变换将线性方程组化为上三角形式的方法,其求解过程主要包括以下几个步骤:1. 将系数矩阵增广为增广矩阵;2. 首先通过初等行变换将增广矩阵化为上三角矩阵;3. 然后通过回代的方式求解方程组。

通过这样的步骤,我们可以将原始的线性方程组化简为上三角形式,从而更容易求解方程组。

二、Matlab代码演示在Matlab中,我们可以通过编写代码实现高斯消去法来求解线性方程组。

下面是一个简单的例子代码,用来演示如何在Matlab中使用高斯消去法求解方程组:```matlabfunction x = gauss_elimination(A, b)[n, m] = size(A);if n ~= merror('A must be a square matrix');endAb = [A, b];for k = 1 : n - 1for i = k + 1 : nfactor = Ab(i, k) / Ab(k, k);Ab(i, k : n + 1) = Ab(i, k : n + 1) - factor * Ab(k, k : n + 1); endendx = zeros(n, 1);x(n) = Ab(n, n + 1) / Ab(n, n);for i = n - 1 : -1 : 1x(i) = (Ab(i, n + 1) - Ab(i, i + 1 : n) * x(i + 1 : n)) / Ab(i, i); endend```通过以上的Matlab代码,我们可以实现高斯消去法的求解过程,并得到方程组的解。

Gauss完全主元消去法

Gauss完全主元消去法

2011-2012(1)专业课程实践论文Gauss完全主元消去法韩璐,0718180109,R数学07-1一、算法理论设方程组的增广矩阵为⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=n nnnj n n i ni j i i i nj n j b a a a a b a a a a b a a a a b a a a a B111111111212122222211111211。

首先在A 中选取绝对值最大的元素作为主元素,例如0max 1111≠=≤≤≤≤ij nj n i j i a a ,然后交换B 的第1行与第1i 行,经第一次消元计算得()()()()22,,b A b A →。

重复上述过程,已完成第1-k 步的选主元素,交换两行及交换两列,消元计算,),(b A 约化为()()()⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=n nnnkk knkk nn kkb a a b a a b a a b a a a b A2222111211,, 其中()k A 元素仍记作ij a ,()k b 元素仍记作()1,,2,1-=n k b i 。

第k 步选主元素(在()k A 右下角方框内选),即确定k i ,k j 使0max ≠=≤≤≤≤ij nj k ni k j i a a k k 。

交换()()()k k b A ,第k 行与k j 行元素交换()()k A 第k 列与k j 列元素,将k k j i a 调到()k k ,位置,再进行消元计算,最后将原方程化为⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n n nn n n b b b y y y a a a a a a 212122211211,其中1y ,2y ,…,n y 的次序为未知数1x ,2x ,…,n x 调换后的次序。

回代求解得()⎪⎩⎪⎨⎧-=⎪⎪⎭⎫ ⎝⎛-==∑+=1,2,11 n i a y a b y a b y iin i j i ij i i nn n n 完全主元消去法,其步骤如下:设b Ax =。

《高斯消去法》课件

《高斯消去法》课件

高斯消去法的流程
1
初等行变换
2
通过行互换和数乘行加,将方程组化为
简化形式。
3
回带求解
4
通过回代求解上三角矩阵,得到线性方 程组的解。
线性方程组
给定一个线性方程组,要求解未知数。
高斯消元
将方程组转化为上三角矩阵。

线性方程组
线性方程组是由多个线性方程组成的方程组。 它的数学表示形式为:Ax=b,其中A为系数矩阵,x为未知数向量,b为常数向 量。
高斯消去法的重要性
高斯消去法是解决线性方程组的重要方法,在数学 和科学领域有广泛应用。
下一步的学习计划
继续学习与线性代数相关的知识,拓展对高斯消去 法的应用和理解。
《高斯消去法》PPT课件
高斯消去法是一种线性代数中常用的解决线性方程组的方法。它通过一系列 的初等行变换,将线性方程组化为简单形式,从而求解方程组的未知数。
什么是高斯消去法
高斯消去法,又称高斯-约当消去法,是一种用于求解线性方程组的算法。 它的作用是将复杂的线性方程组转化为简单的上三角矩阵,使其更易于求解。
高斯消去法的优缺点
优点
高斯消去法能够解决复杂的线性方程组,使求 解过程简单明了。
缺点
高斯消去法在处理大规模方程组时,计算量较 大,耗费时间较长。
在实际生活中的应用
1 例子1
高斯消去法常用于地理学中的地图投影问题的求解。
2 例子2
高斯消去法在计算机图形学中,用于解决三维空间中的几何变换问题。
总结
初等行变换
初等行变换是对线性方程组进行的一系列行操作,包括行互换和数乘行加。 通过初等行变换,可以改变方程组的形式,使求解过程更加简便。
高斯消元

高斯消元法

高斯消元法

求解线性方程组的直接解法5.1 Gauss 消去法① 三角方程组先举一个简单的例子来说明消去法的基本思想.例1. 用消去法解方程组⎪⎩⎪⎨⎧=+-=-=++(3) .122(2),54(1),632132321x x x x x x x x 解 第一步.将方程(1)乘上-2加到方程(3)上去,消去(3)中的未知数1x ,得到 (4) .11432-=--x x第二步.将方程(2)加到方程(4)上去,消去方程(4)中的未知数2x ,得到与原方程组等价的三角形方程组(5).62,54 ,6332321⎪⎩⎪⎨⎧-=-=-=++x x x x x x 显然,方程组(5)是容易求解的,解为.)3,2,1(T x =*上述过程相当于332331 (-2) 6-56 20014011111-56 140140111156 122140111)|(r r r r r r b A →+→+⨯⎪⎪⎪⎭⎫ ⎝⎛--→⎪⎪⎪⎭⎫ ⎝⎛---→⎪⎪⎪⎭⎫ ⎝⎛--=其中用i r 表示矩阵的第i 行.下面我们讨论求解一般线性方程组的高斯消去法. 一般地⎪⎪⎩⎪⎪⎨⎧==++=+++nn nn n n n n b x a b x a x a b x a x a x a 2222211212111当a 11a 22…a nn ≠0时,可解出 x n =b n /a nn for k=n-1:1 x k =(b 1- a k,k+1x k +1-…- a kn x n )/ a kk end注: k k b x ,可用同一组单元.并可解出一个未知数即代入其它方程消去该未知数Gauss 消元法的流程图为: 流程图中,,(,1,2,...,)ij i a b i j n 分别为线性方程组的系数矩阵和常数向量;k 是循环次数。

② 顺序消去法一般地,k =1对n 阶方程组消去第k 个元(a kk ≠0):⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡→⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡++++++++++++++n k k nnk n n n k k k k k knk k kkn k k nnk n nkn k k k k k knk k kk b b b a a m a a m a a a b b b a a a a a a a a a11,1,11,1,11,11,,11,1,11,)()(这里各行变换:i 行-k 行×m ik ,其中m ik =a ik /a kk ,i =k +1,…,n 而后, k =2对n -1阶方程组消第2个元…我们有如下顺序消元算法:for k=1:n -1 if a kk ≠0 for i =k +1:n m ik =a ik /a kk i 行=i 行-k 行×m ik end else stop end end(每行包括右端项!)可细化,也可存储m ik 于a ik 得:for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end b i =b i -a ik ×b k end else stop end end顺序消元过程和回代过程连起来就可得精确解.顺序消元算法也可将系数矩阵和右端项分开:for k=1:n -1 if a kk ≠0 for i =k +1:n a ik =a ik /a kk for j=k+1:n a ik =a ik -a ik ×a kj end end else stop end end (注意m ik 在a ik ) for k=1:n -1 for i =k +1:n b i =b i -a ik ×b k endendGauss 消去法运算量消去第k 个元素时,对矩阵作加法和乘法运算各(n-k )×(n-k )次,除法(n-k )次.对右端作加法和乘法运算各(n-k )次.分别共12+22+…+(n -1)2=n (n -1/2)(n -1)/3和1+2+…+(n-1)=n (n -1)/2次加法乘法,消元时还有1+2+…+(n-1)= n (n -1)/2次除法.另外回代过程中加法和乘法运算各n (n -1)/2次,除法n 次.运算量主要是消元的贡献,加法和乘法运算各约n 3/3. 定理1.设Ax=b ,其中A .R n n ⨯∈(1) 如果),,1,2,(k 0)(n a k kk=≠则可通过Gauss 消去法将Ax=b 约化等价的三角形方程组⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)1(121)()2(2)2(22)1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a , 且计算公式为:(a) 消元过程设0)(≠k kka ,对1,,2,1-=n k 计算 nk k j i b m b b a m a a a a m k k ik k i k ik kj ik k ij k ijk kk k ik ik ,,2,1,/)()()1()()()1()()( ++=⎪⎩⎪⎨⎧-=-==++ (b) 回代过程1,2,,1/)(/1)()()()()( -=⎪⎩⎪⎨⎧-==∑+=n i a x a b x a b x n i j i ii j i ij i i i n nn n n n (2) 如果A 为非奇异矩阵,则可通过Gauss 消去法(及交换两行的初等变换)将方程组Ax=b 约化为⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()2(2)1(121)()2(2)2(22)1(1)1(12)1(11n n m n nn n n b b b x x x a a a a a a .行列式和逆矩阵易知顺序消元过程中,行列式不变.因此det (A )=det (U )=u 11u 22…u nn ,这里U 是顺序消元过程结束时的上三角矩阵.A 的顺序主子式。

线性代数 高斯(Gauss)消元法ppt课件

线性代数  高斯(Gauss)消元法ppt课件

线
2x1 8x2 6x3 6 ③

方 程 组
② 2① ③ ①
x1 x2 2 x3 1 3x2 3x3 0 3x2 x3 2
① ② ③
“回代”求解得:
x1 2, x2 1, x3 1.
①② ③ 0.5
③①
2
x1 x1
x2 2x3 1 ① x2 x3 2 ②
线 性

(2) 可知方程组有无穷多解, 即对任意的 x2,有
方 程 组
x1 x2
2x2 x2,
7,
x3 2 .
其中 x2 为自由未知量。

x1 2 7 x2 k 1 0 ,
( k 任意)
x3 0 2
注意体会求解“结果”的写法及表达方式。
10
§4.2 高斯(Gauss)消元法
x1 4x2 3x3 3 ③
x1 x2 3x2
2x3 3x3
1 0
2x3 2
继续“消元”得:
x1
x2
2 1
x3 1
3
§4.2 高斯(Gauss)消元法
第 启示 四 章
线 性 方 程 组
事实上,从上述对线性方程组的求解过程中可知: 真正参与运算的是线性方程组的系数项和常数项, 而未知量并不需要参与运算。
2
x1 x1
x2 2x3 1 x2 x3 2
x1 4 x2 3 x3 3
① ② ③
② 2① ③ ①
x1 x2 2 x3 1 3x2 3x3 0 3x2 x3 2
① ② ③
2 1 1 2 1 1 2 1 2 8 6 6 1 1 2 1 2 1 1 2 1 4 3 3 1 1 2 1 0 3 3 0 0 3 1 2

高斯消去法的计算步骤

高斯消去法的计算步骤

机械与建筑结构的设计计算问题等等,都归结为
求解线性方程组或非线性方程组的数学问题。因 此线性方程组的求解对于实际问题是极其重要的。
引例: 设有电源及一些电阻组成的简单电路,求各环 路电流。 E2 R
解: 设I1 ,I2 , I3为图示的 E1 环路电流, 对每一个环 F 路,利用克 希霍夫定律 H 在任何一个
akk
(1) a11
a a
(1) 12 ( 2) 22
a a
(k ) kk

(k ) nk
(1) x a 1 b1 ( 2) a x 2 b2 (k ) (k ) a kn x k bk k (k ) a nn xn bn (1) 1n ( 2) 2n
3.2.2 高斯消去法算法构造 我们知道,线性方程组(3.1)用矩阵形式表示为
a11 a 21 a n1 a12 a 22 an2 a1n a2n a nn x1 b1 x b 2 2 x n bn
2 ~ A A b 4 1 1 2 2 3 5 0
1 2 r ( 2 ) r 4 0 1 r ( ) r 2 7 0
2 1 3 1
i 行)
1 2 13 2

1 3 4 1 5 3 2 2
⑴ 消元过程,高斯消去法的消元过程由n-1步组成:
(1) 第1步 设 a11 0 ,把(3.3)中的第一列中元素 (1) a (1) (1) (1) i1 消为零 , 令 m , (i 2,3,, n) a21 , a31 ,, an i 1 1 (1)

Gauss消去法实例

Gauss消去法实例

Gauss消去法有限元杆系分析实例学院:建筑工程学院学号:2111206052 姓名:王瑞峰一、问题来源在结构静力分析中, 有限元问题的求解最后常常归结为解一个或一些大型稀疏矩阵的线性代数方程组. 因此, 有限元并行计算方法就归结为求解线性方程组的并行算法。

本文以有限元杆系结构分析算例为例:设各杆材料和集合性质相同,杆长L=2.4m,截面面积A=5╳10-3m2,弹性模量E=2.1╳102GPa,剪切模量G=9╳104NPa,极惯性矩I=2.6╳10-5 m4,惯性矩I y=1.2╳10-5 m4, 惯性矩I x=3.0╳10-5 m4,外力F=10kN,q=15 kN/m。

二、数学模型根据题意可以求得整体刚度矩阵K和总的节点荷载矩阵F分别为:现在可以通过求解整体刚度方程,来计算未知节点位移矩阵δ,其中三、方法选择高斯消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组系数矩阵化为三角形矩阵和同解方程组,然后用回代法解此三角形方程组,从而得到原方程组的解。

Gauss消去法是并行求解线性方程组的比较流行的算法, 本文将这种算法引人到有限元并行计算中, 针对求解单元刚度(质量)矩阵、总刚度(质量)矩阵以及求解系统方程组耗时较多的部分进行并行算法的分析和设计。

四、编程实现本文采用Fortran软件求解,程序的代码如下:program mainimplicit nonereal,allocatable ::A(:,:)real,allocatable ::X(:)integer(2) i,j,k,nreal(4) mprint*,'请输入方程组所含方程的个数:'read*, nallocate(A(n,n+1))allocate(X(n))print*,'请输入方程组的系数矩阵:'doi=1,nread*,A(i,:)end dodo k=1,n-1doi=k+1,nA(i,:)=A(k,:)*(A(i,k)/A(k,k)*(-1))+A(i,:) end doend doX(n)=A(n,n+1)/A(n,n)do k=n-1,1,-1m=0doi=k+1,nm=m + A(k,i)*X(i)end doX(k)=(A(k,n+1)-m)/A(k,k)end dodoi=1,nprint*,'X(',i,')=',X(i)end dodeallocate(A)deallocate(X)End程序的代码截图如下:计算结果截图如下:五、误差要求求得方程F=K·δ的一个近似解以后,希望判断其误差和精度,检验精度的一个简单办法是将近似解再代回到原方程组去求出余量F-K*gauss(K,F),如果结果F-K*gauss(K,F)很小,就认为解释相当精确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016/8/14
假定 a
( 1) 11
0
定义行乘数
1) ai(1 mi 1 ( 1) a11
i 2 ,3 , , n
第i行 第1行 mi 1 , 则
a
b
(2) ij
a m a
( 1) ij
( 1) i1 1 j
i , j 2 ,3 , , n
i 2 ,3 , , n



(6―6′)
对方程组(6―6′)作③-②× 程组
x1 2 x2 x3 3 3 x 2 6 x3 3 12 x 3 3
2016/8/14
7 ,得到三角形方 3
① (6―6")


18
从方程组(6―6“)的方程③解出x3,将所得的结果代 入方程②求出x2,再把x3、x2同时代入方程①解出 x1。这样可求出方程组的解为
回 代 方 向
其解为:
bn x n unn
2016/8/14
n bi uij x j j i 1 x i uii

i n 1, n 2 , ,2 ,1
10
§ 6.1 Gauss消去法
一、消元与回代计算 对线性方程组
Ax b
对其增广矩阵施行行初等变换:
( 1) ( 1) a12 a1 n ( 1) ( 1) a22 a2 n ( 1) ( 1) an 2 ann ( 1) ቤተ መጻሕፍቲ ባይዱ1 ( 1) b2 ( 1) bn
11
如果 det(A) 0
( 1) a11 ( 1) 记 a21 ( 1) ( 1) A ( A, b) ( A , b ) a( 1) n1
二、Gauss消去法的运算量 计算机作乘除运算所耗时间要远远多于加减运算 且在一个算法中,加减运算和乘除运算次数大体相当 故在衡量一个算法的运算量时只需统计乘除的运算次数
作第k步消元时
乘法次数: (n k )(n k 1)次 除法次数: ( n k )次
作第k步消元乘除法运算总次 数为
( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (2) (2) an a 2 nn ( 1) b1 (2) b2 (2) bn
12
(2) i
b m b
( 1) i
( 1) i1 1
(A ,b )
2016/8/14
( 1)
( 1)
A ( A, b) ( A , b )
( 1) ( 1)
(A ,b ) (A ,b )
( n) ( n)
(2)
(2)
经过n-1次
目标:A( n )为上三角阵
则方程组 A x b 的解不难得到
( n) ( n)
2016/8/14 7

Ax b
同解
A( n ) x b( n ) ------------(2)

aii
i n 1, n 2 , ,2 ,1
2016/8/14
16
以上讨论告诉我们,对具有上三角形系数矩阵 的方程组求解极为方便。当然,若方程组的系数 矩阵为下三角形,则求解也很方便。于是对于一 般形式的方程组,我们总设法把它化为系数矩 阵呈上(或下)三角形的方程组来求解。为了达 到目的,可利用消去法进行。现举例如下: 解方程组
以上求解线性方程组的方法称为Gauss消去法
如果将线性方程组Ax b 的系数矩阵A分解成 两个三角形矩阵 L和U ,即
A LU

都是三角 形方程组
Ax b
LUx b
Ly b Ux y
8
上述方法称为直接三角形分解法
2016/8/14
上三角形方程组 Ux b 的求解思路:
u11 u12 u1n x1 b1 u22 u2 n x2 b2 unn xn bn
(n k )(n k 2)次
2016/8/14 20
完成全部n 1步消元需作乘除法运算 总次数为
n 3 n 2 5n ( n k )(n k 2) 3 2 6 k 1
n 1
全部回代过程需作乘除法的总次数为
n2 n ( n i 1) 2 2 i 1
Ux b
2016/8/14
9
u11 x1 u12 x2 u1n xn b1 i ,i 1 xi 1 uin xn bi uii xi u un1 ,n1 xn1 un1 ,n xn bn1

unn xn bn
( 1) a11 (2) (2) 0 (A ,b ) 0
( 1) 如果 a11 0 由于 det(A) 0
则 A 的第一列中至少有一个 元素不为零
如 a
( 1) i1 1
0, 则将( A , b )的第一行与第 i1行交换后消元
( 1) ( 1)
( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (2) (2) an a 2 nn ( 1) b1 (2) b2 (2) bn
x1 b1 x2 b2 x b xn bn
未知量向量 常数项
6
2016/8/14
根据Cramer(克莱姆)法则,若
det(A) 0
则方程组 Ax b 有唯一解
若用初等变换法求解,则对其增广矩阵作行初等变换:

( 1) a11 0 0
det() 0
因此, 第k 1步后, ( A(1) , b(1) )将化为
2016/8/14 13
( 1) ( 1) a11 a12 (2) a 22 (k ) (k ) ( 1) ( 1) ( A , b ) (A ,b ) 定义行乘数 (k ) aik mik ( k ) i k 1, , n akk
x1 2 x2 x3 3 x1 x2 5 x3 0 4 x x 2 x 2 3 1 2
2016/8/14

② ③ (6―6)
17
作②-①消去②中的x1,作③-①×4消去③中的 x1,则方程组化为
x1 2 x2 x3 3 3x2 6 x3 3 7 x 2 x 10 2 3
20 9 10 20!(20 1)(20 1) 20
用行列式定义

(20 1) 2700
用行列式性质
2016/8/14
22
三、 Gauss列主元消去法 Gauss列主元消去法的引入
例1.
用Gauss消去法解线性方程组(用3位十进制浮 点数计算)
0.0001x1 x2 1 x1 x2 2
(k ) bi( k 1) bi( k ) mikbk
2016/8/14
i , j k 1, , n
i k 1, , n
14
当经过k n 1步后, ( A(1) , b(1) )将化为
( 1) a11 ( A( n ) , b( n ) ) ( 1) ( 1) a12 a1 n (2) (2) a22 a2 n (n) ann ( 1) b1 (2) b2 (n) bn
( A( 1) , b( 1) )
由于 det(A) 0
(i ) 可知 aii 0
i 1,2,, n
因此, 上三角形方程组A( n) x b( n) 有唯一解
2016/8/14 15
因此可得线性方程组 Ax b 的解:
bn xn ( n ) ann
n (i ) (i ) bi aij x j j i 1 xi (i )
解: 本方程组的精度较高的解为
x* (0.99989999 ,1.00010001 )T
用Gauss消去法求解(用3位十进制浮点数计算)
2016/8/14 23
主元
0.000100 A ( A, b) 1
m21 10000
1 1 1 2
9999
1 1 0.000100 4 4 0 1 . 00 10 1 . 00 10
2016/8/14
25
如果在求解时将1,2行交换,即
1 1 2 A ( A, b) 0.000100 1 1
1 2 1 0 1.00 1.00
m21 0.0001
0.9999
回代后得到
x1 1.00 , x2 1.00
高阶线性 (如1000) 方程组
低阶线性 方程组
对称正定 方程组
三角形 方程组
三对角占 优方程组
2016/8/14
4
解线性方程组的两类方法:
直接法: 经过有限次运算后可求得方程组 精确解的方法(不计舍入误差) 迭代法:从解的某个近似值出发,通过构 造一个无穷序列去逼近精确解的方法。 (一般有限步内得不到精确解)
回代后得到
x1 0.00 , x2 1.00
与精确解相比,该结果误差较大 究其原因,在求行乘数时用了很小的数0.0001作除数
2016/8/14 24
前述顺序消去法是按序通过用
a11,a(1)22,…,a(n-2)n-1(a(k-1)kk≠0) 作为除数来达到消元目的的。在实际计算时,由 于舍入误差的影响,计算结果会改变很大,甚至于 完全失真。
相关文档
最新文档