解线性方程组基思想
- 格式:doc
- 大小:162.50 KB
- 文档页数:19
线性方程组的求解方法线性方程组是数学中的基础概念,广泛应用于各个领域,如物理、经济学、工程学等。
解决线性方程组的问题,对于推动科学技术的发展和解决实际问题具有重要意义。
本文将介绍几种常见的线性方程组的求解方法,包括高斯消元法、矩阵法和迭代法。
一、高斯消元法高斯消元法是求解线性方程组的经典方法之一。
它的基本思想是通过一系列的行变换将方程组化为阶梯形或行最简形,从而得到方程组的解。
首先,将线性方程组写成增广矩阵的形式,其中增广矩阵是由系数矩阵和常数向量组成的。
然后,通过行变换将增广矩阵化为阶梯形或行最简形。
最后,通过回代法求解得到方程组的解。
高斯消元法的优点是简单易懂,容易实现。
但是,当方程组的规模较大时,计算量会很大,效率较低。
二、矩阵法矩阵法是求解线性方程组的另一种常见方法。
它的基本思想是通过矩阵运算将方程组化为矩阵的乘法形式,从而得到方程组的解。
首先,将线性方程组写成矩阵的形式,其中矩阵是由系数矩阵和常数向量组成的。
然后,通过矩阵运算将方程组化为矩阵的乘法形式。
最后,通过求逆矩阵或伴随矩阵求解得到方程组的解。
矩阵法的优点是计算效率高,适用于方程组规模较大的情况。
但是,对于奇异矩阵或非方阵的情况,矩阵法无法求解。
三、迭代法迭代法是求解线性方程组的一种近似解法。
它的基本思想是通过迭代计算逐步逼近方程组的解。
首先,将线性方程组写成矩阵的形式,其中矩阵是由系数矩阵和常数向量组成的。
然后,选择一个初始解,通过迭代计算逐步逼近方程组的解。
最后,通过设定一个误差限,当迭代结果满足误差限时停止计算。
迭代法的优点是计算过程简单,适用于方程组规模较大的情况。
但是,迭代法的收敛性与初始解的选择有关,有时可能无法收敛或收敛速度较慢。
综上所述,线性方程组的求解方法有高斯消元法、矩阵法和迭代法等。
每种方法都有其适用的场景和特点,选择合适的方法可以提高计算效率和解决实际问题的准确性。
在实际应用中,根据问题的具体情况选择合适的方法进行求解,能够更好地推动科学技术的发展和解决实际问题。
线性方程组求解及应用线性方程组是高中数学中的重要内容,对于解题能力的培养和数学思维的发展有着重要的作用。
本文将介绍线性方程组求解的基本方法,并举例说明其在实际问题中的应用。
线性方程组是由若干个线性方程组成的方程组,其中每个方程的未知数的最高次都是1,即形如ax + by = c的方程。
线性方程组的求解可以通过消元法、代入法和矩阵法等方法来进行。
1. 消元法消元法是求解线性方程组最常用的方法之一。
它的基本思想是通过变换线性方程组的等价方程组,使未知数的系数满足一定的要求,从而简化求解过程。
具体步骤如下:(1)将线性方程组写成增广矩阵形式,即将线性方程组的系数矩阵和常数矩阵合并成一个增广矩阵。
(2)通过行变换将增广矩阵化为行简化阶梯形矩阵。
(3)根据行简化阶梯形矩阵求解出未知数的值。
2. 代入法代入法是另一种常用的线性方程组求解方法。
它的基本思想是将一个方程中的一个未知数表示成其他未知数的函数,然后代入到另一个方程中,通过解得的未知数值逐步代入,最终求解出所有未知数的值。
(1)选取一个方程,将其中的一个未知数表示成其他未知数的函数。
(2)将该函数代入到另一个方程中,得到一个只含有一个未知数的方程。
(3)解得该未知数的值,并代入回第一步中的函数中,求解出其他未知数的值。
3. 矩阵法矩阵法是一种基于线性代数的求解方法,通过将线性方程组的系数矩阵和常数矩阵相乘,将方程组转化为矩阵的乘法运算。
然后通过矩阵的性质和运算规则,求解出未知数的值。
1. 物理应用线性方程组可以用来描述物理现象中的平衡条件、运动轨迹和力的分解等问题。
用线性方程组来解决力的平衡问题、物体的运动轨迹问题等。
2. 经济应用线性方程组在经济学中有着广泛的应用,可以用来描述生产、消费、利润等经济现象。
用线性方程组来解决生产成本最小化、利润最大化等最优化问题。
3. 工程应用线性方程组在工程学中的应用非常广泛,可以用来解决电路分析、结构力学和流体力学等问题。
线性方程组的几种求解方法1.高斯消元法高斯消元法是求解线性方程组的一种常用方法。
该方法的基本思想是通过对方程组进行一系列简化操作,使得方程组的解易于求得。
首先将方程组表示为增广矩阵,然后通过一系列的行变换将增广矩阵化为行简化阶梯形,最后通过回代求解出方程组的解。
2.列主元高斯消元法列主元高斯消元法是在高斯消元法的基础上进行改进的方法。
在该方法中,每次选取主元时不再仅仅选择当前列的第一个非零元素,而是从当前列中选取绝对值最大的元素作为主元。
通过选取列主元,可以避免数值稳定性问题,提高计算精度。
3.LU分解法LU分解法是一种将线性方程组的系数矩阵分解为一个下三角矩阵L 和一个上三角矩阵U的方法。
首先进行列主元高斯消元法得到行阶梯形矩阵,然后对行阶梯形矩阵进行进一步的操作,得到L和U。
最后通过回代求解出方程组的解。
4.追赶法(三角分解法)追赶法也称为三角分解法,适用于系数矩阵是对角占优的三对角矩阵的线性方程组。
追赶法是一种直接求解法,将系数矩阵分解为一个下三角矩阵L和一个上三角矩阵U,然后通过简单的代数运算即可求得方程组的解。
5.雅可比迭代法雅可比迭代法是一种迭代法,适用于对称正定矩阵的线性方程组。
该方法的基本思想是通过不断迭代求解出方程组的解。
首先将方程组表示为x=Bx+f的形式,然后通过迭代计算不断逼近x的解。
6.高斯-赛德尔迭代法高斯-赛德尔迭代法是雅可比迭代法的改进方法。
该方法在每一次迭代时,使用已经更新的解来计算新的解。
相比于雅可比迭代法,高斯-赛德尔迭代法的收敛速度更快。
7.松弛因子迭代法松弛因子迭代法是一种对高斯-赛德尔迭代法的改进方法。
该方法在每一次迭代时,通过引入松弛因子来调节新解与旧解之间的关系。
可以通过选择合适的松弛因子来加快迭代速度。
以上是一些常用的线性方程组求解方法,不同的方法适用于不同类型的线性方程组。
在实际应用中,根据问题的特点和要求选择合适的求解方法可以提高计算的效率和精度。
计算方法3_线性方程组迭代解法线性方程组的迭代解法是解决线性方程组的一种常见方法,常用于大规模的线性方程组求解。
该方法通过不断迭代更新解的近似值,直到满足一定的收敛准则为止。
线性方程组的迭代解法有很多种,其中最经典的是雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法。
本文将分别介绍这三种迭代解法及其计算方法。
雅可比迭代法是一种比较简单的线性方程组迭代解法,它的基本思想是先将线性方程组转化为对角占优的形式,然后通过迭代求解逐渐接近精确解。
雅可比迭代法的迭代公式为:其中,x^(k+1)是第k+1次迭代的近似解,n是未知数的个数,a_ij 是系数矩阵A的元素,f_i是方程组的右端向量的元素。
雅可比迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式,即保证矩阵A的对角元素绝对值大于其它元素的绝对值。
2.初始化向量x^(0),设定迭代终止准则。
3.根据雅可比迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
高斯-赛德尔迭代法是雅可比迭代法的改进方法,它的基本思想是在每次迭代计算x^(k+1)时,利用已经计算出的近似解作为x的一部分。
高斯-赛德尔迭代法的迭代公式为:其中,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
高斯-赛德尔迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式。
2.初始化向量x^(0),设定迭代终止准则。
3.根据高斯-赛德尔迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
超松弛迭代法是对高斯-赛德尔迭代法的一种改进方法,它引入了松弛因子ω,通过调整参数ω的值,可以加快迭代的收敛速度。
超松弛迭代法的迭代公式为:其中,0<ω<2,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
数学公式知识:高斯消元法解线性方程组高斯消元法是一种常用于解决线性方程组的方法,其基本思想是通过一系列的行变换,将原始的线性方程组转化为一个三角形形式的线性方程组,从而求解出方程组的解析解或数值解。
本文将介绍高斯消元法的过程、原理以及应用。
一、高斯消元法的基本过程高斯消元法的基本过程可以分为以下几步:1.构造增广矩阵:将原始的线性方程组写成增广矩阵的形式,即将系数矩阵和常数向量合并在一起。
2.基本行变换:通过一系列基本行变换(例如交换两行、将某一行乘以一个非零常数、将某一行加上另一行的若干倍),将增广矩阵转化为上三角矩阵。
3.回带求解:通过向上回带的方式,求解出上三角矩阵对应的线性方程组的解。
二、高斯消元法的原理在执行高斯消元法的过程中,关键是在第一步构造增广矩阵时,如何选取主元。
主元通常被选为系数矩阵中对应行的主对角线元素,其基本原理是以该元素为基础,通过一系列行变换,将其他元素全部消为0,从而得到一个上三角矩阵。
但是,在实际应用中,可能会出现主元为0或非常小的情况,导致计算误差或求解失败。
因此,在程序实现时,通常需要先通过部分选主元(例如选取绝对值最大的元素作为主元),再进行行变换,从而提高计算精度。
此外,在执行高斯消元法的过程中,需要注意一些细节问题,例如主元为0或非常小的情况、矩阵奇异性等,以避免出现计算错误或无解的情况。
三、高斯消元法的应用高斯消元法广泛应用于各种科研和工程问题中,例如线性控制、图像识别、计算机视觉等领域。
其主要应用场景包括:1.求解线性方程组:高斯消元法可以直接求解线性方程组的解析解或数值解,为工程和科研计算提供了重要的基础工具。
2.矩阵求逆:通过将方程组的系数矩阵变为单位矩阵,可以使用高斯消元法求解矩阵的逆,从而可以直接计算出矩阵的行列式、特征值等重要参数。
3.最小二乘法:在拟合曲线或曲面时,通常会将问题转化为线性方程组的形式,然后采用高斯消元法求解最小二乘问题的解。
数学教案线性方程组的解法数学教案:线性方程组的解法一、引言数学是一门理科学科,它的基础知识被广泛应用于各个领域。
其中,线性方程组作为数学的重要内容之一,具有较广泛的应用背景。
本教案将围绕线性方程组的解法展开,通过分析实际生活中的问题,引导学生理解和应用线性方程组的求解方法。
二、知识概述1. 线性方程组的定义:线性方程组是由一组线性方程构成的方程组,其中每个方程都是形如a₁x₁+a₂x₂+...+aₙxₙ=b的线性方程。
2. 解的概念:线性方程组的解是使得方程组中所有方程都成立的数值组合,也就是使得所有方程的左边等于右边的组合。
3. 解的形式:线性方程组的解可以有无穷个,也可能没有解,还可能只有唯一解。
4. 解的表示方式:线性方程组的解可以用数学符号表示,也可以用文字描述。
三、解法一:代入法1. 基本思想:选取方程组中的一个方程,将其它方程中的变量用这个方程中的变量表示,然后得到一个只含有一个变量的方程,通过求解这个方程得到一个解,再将这个解代入到其它方程中,验证是否满足。
2. 解题示例:解方程组2x + 3y = 8x - 2y = -1选取第一个方程,得到x = (8 - 3y) / 2,然后将x代入第二个方程中,得到(8 - 3y) / 2 - 2y = -1,通过求解这个方程可以得到y = 2,将y的值代入x的表达式中,可得到x = 1。
3. 优缺点:代入法操作简单,容易理解,但当方程较多时,计算量较大。
四、解法二:消元法1. 基本思想:利用多个方程之间的等价变换,将方程组转化为简化的三角形方程组,然后通过逐步求解,得到方程组的解。
2. 解题示例:解方程组x + 3y = 52x - y = 4通过第一个方程的乘以2,得到2x + 6y = 10,并将其与第二个方程相减,得到7y = 6,解得y = 6 / 7,将y的值代入第一个方程,可得到x = 5 - 3 * (6 / 7)。
3. 优缺点:消元法能够准确快速地求得解,并且适用于任意行列数的方程组,但需要较强的计算能力。
线性代数基本思想在解题中的应用摘要:线性代数是现代数学的基础学科,是研究数学其他分支和自然科学的基本工具。
线性代数的理论和方法无论是对整个数学的发展和完善,还是对综合素质的提高和创新能力的培养都有十分重要的作用。
而且其解题方法多种多样,某些独特解题思路也奠定了必不可少的思维方式和思想方法的基础,其独特的思想方法突出了学习能力和逻辑推理能力的培养,对掌握运算技巧和解题方法及证明思路有指导作用。
关键词:思维定势;行列式;矩阵;向量1 伴随矩阵的应用若题设条件与代数余子式Aij及伴随矩阵A*有关,则联想到行列式展开定理以及公式。
对于一般的行列式,我们都有行列式展开定理:行列式D等于它任一行(列)的所有元素与它们的对应代数余子式的乘积的和。
我们解决类似题设条件与代数余子式Aij及伴随矩阵A*有关的问题时,就联想到上述行列式展开定理以及公式AA*=A*A=| A|I,可以使计算简便。
例1设矩阵A的伴随矩阵为A*=1000010010100-308,且ABA-1=BA-1+3I,其中为4阶单位矩阵,求矩阵B。
分析:题设与A*有关,立即联想公式AA*=A*A=|A|I。
解:由AA*=A*A=|A|I推出|A||A*|=|A|4,即|A|3=|A*|=8,得|A|=2。
又给等式ABA-1=BA-1+3I,右乘A得AB=B+3A,再左乘A*得A*AB=A*B+3A*A于是有|A|B=A*B+3|A|I。
即(2I-A*)B=6I,而2I-A*为可逆矩阵,于是B=6(2I-A*)-1。
2 矩阵的多项式的应用若题设n阶方阵A满足多项式f(A)=O,要证明aA+bI可逆,则先分解出方阵A的多项式aA+bI。
定理:设A,B均为n阶矩阵,若满足AB=I或BA=I,其中I为n阶单位矩阵,那么A与B均为可逆矩阵(或非奇异矩阵),且A与B为互逆矩阵。
做题时,构造成等式一边是两个多项式相乘,等式另一边是单位矩阵或n倍的单位矩阵(若是n倍的单位矩阵则先把等式两边同时除以n),再根据可逆矩阵定义就可以证明aA+bI可逆。
线性方程的解法线性方程是数学中最基本也最常见的一类方程。
解决线性方程的方法有很多种,其中包括代入法、相消法、平衡法、消元法等。
本文将详细介绍这些解法,并通过例子来说明其应用。
1. 代入法代入法是解决线性方程的最简单方法之一。
它的基本思想是将一个变量的值代入到方程中,计算另一个变量的值。
举个例子来说明:假设有以下线性方程组:2x + 3y = 8x - y = 2我们可以从第二个方程中解出 x,得到 x = y + 2。
然后将 x 的值代入到第一个方程中:2(y + 2) + 3y = 8通过简单的计算,可以解出 y 的值为 2。
再将 y 的值代入到 x = y + 2 中,可以解出 x 的值为 4。
2. 相消法相消法是解决线性方程组的另一种常用方法。
它的基本思想是通过两个方程的加减运算,消去一个变量,从而简化方程组。
举个例子来说明:假设有以下线性方程组:2x + 3y = 83x - 2y = 1我们可以通过将第一个方程与第二个方程的2 倍相加,消去变量x:(2x + 3y) + 2(3x - 2y) = 8 + 2(1)8x - y = 10然后,通过解这个新的方程,可以求得 y 的值为 -2。
将 y 的值代入到任意一个原方程中,可以解得 x 的值为 3。
3. 平衡法平衡法也是解决线性方程组的一种有效方法。
它的基本思想是通过加减运算,使方程两边保持平衡,从而逐步求得变量的值。
举个例子来说明:假设有以下线性方程组:3x + 4y = 142x - 3y = 1我们可以通过将第一个方程的 3 倍与第二个方程的 2 倍相加,使 x的系数相同:3(3x + 4y) + 2(2x - 3y) = 3(14) + 2(1)13x = 43然后,通过解这个新的方程,可以求得 x 的值为 43/13。
将 x 的值代入到任意一个原方程中,可以解得 y 的值为 2/13。
4. 消元法消元法是解决线性方程组的一种常用方法。
高斯消元法与线性方程组的求解线性方程组是数学中的基本问题之一。
几乎所有的科学领域都需要求解线性方程组。
例如,在物理学中,线性方程组通常用于描述物理系统的特性;在工程学中,线性方程组用于解决力学问题,如桥梁设计等;在经济学中,线性方程组用于描述经济模型。
在计算科学中,线性方程组则是求解各种问题的基础,如最小二乘法、信号处理、图形图像处理等等。
高斯消元法是一种用来求解线性方程组的通用方法,它是非常著名的线性方程组求解方法之一。
本文将会介绍高斯消元法的基础思想、算法流程和一些优化技巧。
一. 高斯消元法的基础思想高斯消元法的基本思想是将一个矩阵转换成一个三角矩阵,并用前向回带法求解。
可以通过消元后得到两个部分:上三角形式矩阵和右侧向量的新值。
这个过程可以通过以下三个基本操作实现:1. 将一行乘以一个非零常数,即消元操作。
2. 将一行乘以一个非零常数加到另一行,即加法操作。
3. 交换两行,即交换操作。
这些基本操作可以用来把线性方程组矩阵的行变成简化行梯矩阵。
最终简化行梯矩阵将使求解线性方程组更加容易。
二. 算法流程高斯消元法可以分为两个步骤:高斯消元和回带。
高斯消元将矩阵转换为上三角矩阵,然后使用上三角矩阵求解线性方程。
高斯消元与回带两个步骤如下:1. 高斯消元其中,n是矩阵的列数,m是矩阵的行数。
2. 回带三. 优化技巧高斯消元算法中存在一些优化技巧,它们有助于提高算法的效率。
以下是一些常见的优化技巧:1. 消元时在当前行选择主元。
2. 交换行操作可以改用更快的指针交换。
3. 为了消除误差影响,使用列主元消元。
4. 如果某一行的所有元素都是0,可以跳过这一行。
这些技巧都可以加速高斯消元算法,让我们更快地求解线性方程组。
四. 总结高斯消元法是一种求解线性方程组的经典算法,它具有广泛的应用。
通过本文的介绍,我们可以了解到高斯消元法的基础思想、算法流程和一些优化技巧。
但需要注意的是,高斯消元法的计算复杂度很高,对于大规模矩阵的处理,存在稳定性和计算时间的问题。
线性方程组的解法线性方程组是数学中常见的问题,解决线性方程组可以帮助我们求解各种实际问题。
在本文中,我们将介绍几种常见的求解线性方程组的方法。
一、高斯消元法高斯消元法是最常见、最简单的一种求解线性方程组的方法。
该方法的基本思想是通过一系列的行变换将线性方程组化为简化的梯形方程组,并进一步求解出方程组的解。
具体的步骤如下:1. 将线性方程组写成增广矩阵的形式。
2. 选取矩阵中的一个元素作为主元,将主元所在的行进行换位,使主元尽可能地靠近对角线。
3. 使用消元法,通过将主元下方的所有元素消为零,将矩阵化为简化的梯形矩阵。
4. 从最后一行开始,逆推求解出每个未知数的值。
高斯消元法的优点是简单易懂,适用于一般的线性方程组。
然而,该方法在涉及大规模矩阵的情况下计算量较大,效率相对较低。
二、矩阵的逆和逆矩阵法矩阵的逆和逆矩阵法是通过求解矩阵的逆矩阵来求解线性方程组的方法。
这种方法需要先求出矩阵的逆矩阵,然后利用逆矩阵和增广矩阵相乘得到方程组的解。
具体的步骤如下:1. 将线性方程组写成增广矩阵的形式。
2. 求解增广矩阵的逆矩阵。
3. 将逆矩阵与增广矩阵相乘,得到方程组的解。
矩阵的逆和逆矩阵法的优点是适用于包含多个方程组的情况,且相对于高斯消元法在计算大型矩阵时具有更高的效率。
然而,该方法要求矩阵可逆,且逆矩阵存在才能得到准确的解。
三、克拉默法则克拉默法则是一种基于行列式的方法,用于求解含有n个未知数的n个线性方程组的解。
该方法通过求解方程组的行列式来得到各个未知数的解。
具体的步骤如下:1. 将线性方程组写成矩阵形式,并求出系数矩阵的行列式D。
2. 分别将系数矩阵的每一列替换成常数项的列向量,分别求出替换后的矩阵的行列式D1、D2...Dn。
3. 通过D1/D、D2/D...Dn/D得到方程组的解。
克拉默法则的优点是对于小规模的线性方程组简单易懂,但对于大规模的线性方程组计算量较大,效率较低。
总结:以上介绍了几种常见的线性方程组的求解方法,包括高斯消元法、矩阵的逆和逆矩阵法,以及克拉默法则。
解线性方程组基思想————————————————————————————————作者:————————————————————————————————日期:四:基本方法基本思路将在解题的过程中得到体现。
1.(求线性方程组的唯一解或特解),这类问题的求法分为两类:一类主要用于解低阶稠密矩阵——直接法;一类是解大型稀疏矩阵——迭代法。
1.1利用矩阵除法求线性方程组的特解(或一个解)方程:AX=b,解法:X=A\b,(注意此处’\’不是’/’)例1-1 求方程组的解。
解: A = ; = ;b=(1,0,0,0,1)’由于>>rank(A)=5,rank( )=5 %求秩,此为R(A)=R()>=n的情形,有唯一解。
>>X= A\b %求解X =(2.2662, -1.7218, 1.0571,-0.5940, 0.3188)’ 或用函数rref求解,>>sv=rref(A:b);所得sv的最后一列即为所要求的解。
1.2 利用矩阵的LU、QR和cholesky分解求方程组的解这三种分解,在求解大型方程组时很有用。
其优点是运算速度快、可以节省磁盘空间、节省内存。
I) LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换)和上三角矩阵的乘积。
即A=LU,L为下三角阵,U为上三角阵。
则:A*X=b 变成L*U*X=b所以X=U\(L\b) 这样可以大大提高运算速度。
命令[L,U]=lu (A)在matlab中可以编如下通用m 文件:在Matlab中建立M文件如下% exp1.mA;b;[L,U]=lu (A);X=U\(L\b)II)Cholesky分解若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即:其中R为上三角阵。
方程A*X=b 变成所以在Matlab中建立M文件如下% exp2.mA;b;[R’,R]=chol(A);X=R\(R’\b)III)QR分解对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:A=QR方程A*X=b 变形成QRX=b所以X=R\(Q\b)上例中[Q, R]=qr(A)X=R\(Q\B)在Matlab中建立M文件如下% exp3.mA;b;[Q,R]=qr(A);X=R\(Q\b)2.求线性齐次方程组的通解(A*X=0)在Matlab中,函数null用来求解零空间,即满足A•X=0的解空间,实际上是求出解空间的一组基(基础解系)。
在Matlab中建立M文件如下% exp4.mformat rat %指定有理式格式输出A;b=0;r=rank(A);bs=null(A,‘r’); %一组基含(n-r)个列向量% k ,k ,……,k% X= k *bs(:,1)+ k *bs(:,2)+……+ k *bs(:,n-r) 方程组的通解pretty(X) %让通解表达式更加精美3 求非齐次线性方程组的通解(A*X=b)非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。
因此,步骤为:第一步:判断AX=b是否有解,(利用基本思路的第一条)若有解则进行第二步第二步:求AX=b的一个特解第三步:求AX=0的通解第四步:AX=b的通解为:AX=0的通解加上AX=b的一个特解。
在Matlab中建立M文件如下% exp4.mclear allA;b; %输入矩阵A,b[m,n]=size(A);R=rank(A);B=[A b];Rr=rank(B);format ratif R==Rr&R==n % n为未知数的个数,判断是否有唯一解x=A\b;elseif R==Rr&R<n %判断是否有无穷解x=A\b %求特解C=null(A, r ) %求AX=0的基础解系,所得C为n-R列矩阵,这n-R列即为对%应的基础解系% 这种情形方程组通解xx=k(p)*C(:,P)(p=1…n-R)else X= No solution! % 判断是否无解end第3章线性方程组的迭代解法3.1实验目的理解线性方程组计算机解法中的迭代解法的求解过程和特点,学习科学计算的方法和简单的编程技术。
3.2概念与结论1.n阶线性方程组如果未知量的个数为n ,而且关于这些未知量x1,x2, …,x n的幂次都是一次的(线性的)那末, n 个方程a11x1+a12x2+ …+a1n x n=b1┆┆┆(1)a n1x1+a n2x2+ …+a nn x n=b n构成一个含n个未知量的线性方程组,称为n阶线性方程组。
其中,系数a11,…,a1n,a21, …,a2n, …,a n1, …,a nn和b1, …,b n都是给定的常数。
方程组(1)也常用矩阵的形式表示,写为Ax=b其中,A是由系数按次序排列构成的一个n阶矩阵,称为方程组的系数矩阵,x和b都是n维向量,b称为方程组的右端向量。
2. n阶线性方程组的解使方程组(1)中每一个方程都成立的一组数x1*,x2*, …,x n*称为式(1)的解,把它记为向量的形式,称为解向量.3. 向量范数的三种常用范数 4.矩阵的四种常用范数5.谱半径设 n ⨯n 阶矩阵A 的特征值为λ i (i=1,2,3……n),则称ρ (A) = MAX | λi | 1≤i ≤ n为矩阵A 的谱半径.矩阵范数与谱半径之间的关系为: ρ (A) ≤ ||A|| 6.严格(行)对角占优阵A 如果 矩阵 A=(a ij )满足 n⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛====∑∑=≤≤∞=n nk kkn k nk kx x x x x x x x x x M M M 21122111max .211222211121112111111max max最大特征值是行范数列范数A A A a a a a a a a a a A a A a A a A T nn n n n n n k kjn j f nk jkn j nk kj n j λλ=⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛====∑∑∑∑===≤≤∞=≤≤ΛΛΛM ΛΛΛΛΛΛΛΛΛΛΛΛ|a ii | > ∑ |a ij | i=1,2,……n, j=1,j ≠i则称方阵A 是严格(行)对角占优的. 7.收敛定理对任意初始向量x (0)及任意右端向量 g ,由迭代x (k+1) =B x (k) +g 产生的迭代向量序列{x (k)}收敛的充要条件是谱半径ρ(B )<1 8.收敛判别条件 判别条件1:若||B||<1, 则迭代x (k+1) =B x (k) +g 对任何初始向量x (0)都收敛. 判别条件2:如果A 为严格对角占优阵,则其 Jacobi 迭代和Seidel 迭代对任何初始向量x (0)都收敛。
判别条件3:如果A 为对称正定阵,则其 Seidel 迭代对任何初始向量x (0)都收敛。
9.迭代法的误差估计若||B||<1,则对迭代格式 x (k+1) =B x (k) +g 有3.3 程序中Mathematica 语句解释a*matrix 数a 与矩阵matrix 相乘matrix1+matrix2 矩阵matrix1和矩阵matrix2相加(注意矩阵的大小相同) matrix1.matrix2 矩阵matrix1和矩阵matrix2相乘(注意矩阵乘法的规则) Transpose[matrix] 求矩阵matrix 转置 Inverse[matrix] 求矩阵(方阵) matrix 的逆)()1(*)()1()(*)(1.21.1o kk k k k x x BBx x x x B B x x --≤---≤--DiagonalMatrix[list] 使用列表list 中的元素生成一个对角矩阵. IdentityMatrix[n] 生成n 阶单位矩阵Max[x] 求向量x 中元素的最大值3.4 方法、程序、实验解线性方程组的迭代法是将线性方程组 Ax=b 化为等价线性方程组 x=Bx+f 再由矩阵迭代格式x (k+1)=Bx (k)+f构造向量序列{x (k)}来求线性方程组解的。
如果得出的向量序列{x (k)}收敛至某个向量x *,则可得该向量x *就是所求方程组 Ax=b 的准确解.线性方程组的迭代法主要有Jocobi 迭代法、Seidel 迭代法和超松弛(Sor)迭代法。
1. Jocobi 迭代法1) Jocobi 迭代法的构造过程假设a ii ≠0,依次在第i 个方程解出x i , i=1,2,⋯,n 并令 c ij = -a ij /a ii (i ≠j) , g i = b i /a ii就得到如下Jocobi 迭代格式:x 1(k+1)= c 12x 2(k)+c 13x 3(k)+⋅⋅⋅⋅ +c 1n x n (k)+g 1 x 2(k+1)=c 21x 1(k) +c 23x 3(k)+⋅⋅⋅⋅ +c 2n x n (k)+g 2。
x n (k+1)=c n1x 1(k) +c n2x 2(k)+⋅⋅⋅⋅ +c n(n-1)x n-1(k) + g n 若令⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=n n n n n n J g g g g x x x x c c c c c c B M M ΛΛΛΛΛΛΛ212121221112000则有Jocobi 迭代的矩阵格式:x (k+1) = B J x (k) +g JB J 称为Jocobi 迭代矩阵。
Jocobi 迭代可以写成如下紧凑格式:在给定初始迭代向量x (0)后就可以进行Jocobi 迭代求解了。
2) Jacobi 迭代算法1.输入变量个数n 、初值向量x (0)、迭代精度eps 、系数矩阵A 、常数项b 和迭代最大次数nmax2 For i=1,2,…,n2.1 如果|a ii |<eps1,则输出“迭代失败”提示并终止3. Bj ⇐ E-D -1A4. g j ⇐ D -1b5.For k=1,2,…,nmax5.1 x ⇐Bj.x0+ g j5.2 如果||x-x0||<eps ,输出解向量x ,终止;否则x (0)⇐ x6. 如果||x-x0||>eps ,输出迭代失败,终止。
3) Jacobi 迭代法程序Clear[a,b,x]; nmax=500;n=Input[“线性方程组阶数n=”]; a=Input["系数矩阵A="]; b=Input["常数项b="];x0=Input["输入迭代初值向量x0"]; eps1=0.000001;eps=Input["输入精度控制eps="];ni nij j iii k j iiijk ia b x a a x ,,2,11)()1(Λ=≠=+∑--=Do[If[Abs[a[[i,i]]]<eps1,t1=1;Return[],t1=0],{i,1,n}];If[t1==1,Print["Jacobi迭代法失效"],d=DiagonalMatrix[Table[a[[i,i]],{i,1,n}]];d1=Inverse[d];bj=IdentityMatrix[n]-d1.a;gj=d1.b;Do[ x=bj.x0+gj;err=Max[Abs[x-x0]];Print["x=",x//N," i=",i," err=",err//N];If[N[err]<eps,Break[],x0=x],{i,1,nmax}];If[err>=eps,Print["迭代失败"]]]说明本程序用于求线性方程组Ax=b的解。