文档库 最新最全的文档下载
当前位置:文档库 › 用SOR方法求解线性方程组

用SOR方法求解线性方程组

用SOR方法求解线性方程组
用SOR方法求解线性方程组

第七次作业:编写用SOR 方法求解线性方程组Ax=B

的标准程序,并求下列方程组的解,并比较松弛因子取1.0、1.25、1.5时所需迭代的次数。 可取初始向量 (0)

(1,1,1)

T

=x

,迭

代终止条件

(1)

()

8

||||10

k k +--≤x

x

123430243413001424x x x ????????????-=????????????--??????

function [ x,k] =sor(A,b,w)

% A 为方程组的系数矩阵 % b 为方程组的右端项 % x 为方程组的解 % N 为迭代次数

[n,m]=size(A);n=length(b);e=10^-8;x1=ones(1,n);x=zeros(1,n);M=100;s=zeros(1,n) y=zeros(1,n); r=max(abs(b)); k=0;

while r>e for i=1:n sum=0; for j=1:n if j

sum=sum+A(i,j)*y(j); end if j>i

sum=sum+A(i,j)*x1(j); end

end

s(i)=w*(b(i)-sum)/A(i,i);

y(i)=(1-w)*x1(i)+s(i);

end

r=max(abs(s-w*x1));

x1=y;k=k+1;

if k>M

warning('不收敛');

return;

end

end

x=y;

SOR方法w=1时结果如图:

迭代30次

SOR方法w=1.25时结果如图:

迭代17次

SOR方法w=1.5时结果如图:

迭代31次

c 解线性方程组的几种方法

//解线性方程组 #include #include #include //----------------------------------------------全局变量定义区 const int Number=15; //方程最大个数 double a[Number][Number],b[Number],copy_a[Number][Number],copy_b[Number]; //系数行列式 int A_y[Number]; //a[][]中随着横坐标增加列坐标的排列顺序,如a[0][0],a[1][2],a[2][1]...则A_y[]={0,2,1...}; int lenth,copy_lenth; //方程的个数 double a_sum; //计算行列式的值 char * x; //未知量a,b,c的载体 //----------------------------------------------函数声明区 void input(); //输入方程组 void print_menu(); //打印主菜单 int choose (); //输入选择 void cramer(); //Cramer算法解方程组 void gauss_row(); //Gauss列主元解方程组 void guass_all(); //Gauss全主元解方程组 void Doolittle(); //用Doolittle算法解方程组 int Doolittle_check(double a[][Number],double b[Number]); //判断是否行列式>0,若是,调整为顺序主子式全>0 void xiaoqu_u_l(); //将行列式Doolittle分解 void calculate_u_l(); //计算Doolittle结果 double & calculate_A(int n,int m); //计算行列式 double quanpailie_A(); //根据列坐标的排列计算的值,如A_y[]={0,2,1},得sum=a[0][ A_y[0] ] * a[1][ A_y[1] ] * a[2][ A_y[2] ]=a[0][0]*a[1][2]*a[2][1]; void exchange(int m,int i); //交换A_y[m],A_y[i] void exchange_lie(int j); //交换a[][j]和b[]; void exchange_hang(int m,int n); //分别交换a[][]和b[]中的m和n 两行 void gauss_row_xiaoqu(); //Gauss列主元消去法 void gauss_all_xiaoqu(); //Gauss全主元消去法 void gauss_calculate(); //根据Gauss消去法结果计算未知量的值 void exchange_a_lie(int m,int n); //交换a[][]中的m和n列 void exchange_x(int m,int n); //交换x[]中的x[m]和x[n] void recovery(); //恢复数据 //主函数 void main() { int flag=1;

直接法解线性方程组

直接法解线性方程组 实习题目: 仿照三对角方程组的追赶法解五对角方程组,其中系数矩阵为A,右端向量为:r。将A分解为LU。其中L为下三角,U为单位上三角。A为7*7阶的矩阵,其中对角元为4 5 6 7 8 9 10。上下次三角对角线元素为1 2 3 4 5 6 ;上下第二条对角线元素为1 2 3 4 5;右端项为:1 2 3 4 5 6 7. 要求:输出系数矩阵A,右端向量r,下三角矩阵L,单位上三角矩阵U,下三角矩阵Ly=b 的解向量y,单位上三角方程组Ux=y的解(即最终的解向量。保留七位小数。 实现方法:通过MATLAB编程实现。建立MATLAB脚本文件。 首先通仿照三对角方程组的追赶法得到五对角矩阵的实现算法。 然后又MATLAB编程实现。 实验结果(MATLAB截图):

结果分析: 通过提供的计算数据得到最终的解向量x及中间过程产生的下三角矩阵L,单位上三角矩阵U,下三角矩阵Ly=b 的解向量y。 同时为了确保算法的正确性,我还通过MATLAB的左除运算检验得使用此算法的计算结果正确。 这里由于是用MATLAB,最终结果为分数形式,考虑到精确解一般比近似解更好,因此未化成七位小数形式。 算法实现分析: 首先计算L和U的元素。由于已知L和U的特定形式(及除了对角线和上下次对角线和上下第二条对角线外,其余为0。故通过矩阵的乘法即可得到LU中元素的计算公式。(具体算法见MATLAB程序) 算法优劣点:

1.解此题时看上去要用较多的存储单元,但实际上只需存储系数矩阵A的不为0的元素。 2.A分解为LU计算完成后,后续计算x和y的“追赶过程”运算量一般来说计算量比较小。 3.此题也可用之前的LU算法求解。但此处算法与一般的LU分解的解线性方程组的算法,相比计算量小了不少。 4.对于此处特定的对称的系数矩阵A,算法还可以进一步优化。 5.由于我在此算法中A.L U的各对角值均用一个列向量表示,一个缺点在于输出A,L,U时要重新组成矩阵形式。不过优点在于减少了存储单元。 6.另一缺点是,未能将结果封装成一个文件。 后附MATLAB代码: c=[4,5,6,7,8,9,10];d=[1,2,3,4,5,6,0];b=[0,1,2,3,4,5,6];e=[1,2,3,4,5,0,0];a=[0,0,1,2,3,4,5]; r=[1 2 3 4 5 6 7]; w=zeros(7,1);x=zeros(7,1);y=zeros(7,1);m=zeros(7,1);n=zeros(7,1);h=zeros(7,1); w(1)=c(1);m(1)=d(1)/c(1);n(1)=e(1)/c(1); h(2)=b(2);w(2)=c(2)-h(2)*m(1);m(2)=(d(2)-b(2)*n(1))/w(2);n(2)=e(2)/w(2); for k=3:5 h(k)=b(k)-a(k)*m(k-2); w(k)=c(k)-a(k)*n(k-2)-h(k)*m(k-1); m(k)=(d(k)-h(k)*n(k-1))/w(k); n(k)=e(k)/w(k); end h(6)=b(6)-a(6)*m(4); w(6)=c(6)-a(6)*n(4)-h(6)*m(5); m(6)=(d(6)-h(6)*n(5))/w(6); h(7)=b(7)-a(7)*m(5); w(7)=c(7)-a(7)*n(5)-h(7)*m(6); y(1)=r(1)/w(1);y(2)=(r(2)-h(2)*y(1))/w(2); for k=3:7 y(k)=(r(k)-a(k)*y(k-2)-h(k)*y(k-1))/w(k); end x(7)=y(7); x(6)=y(6)-x(7)*m(6);

Matlab线性方程组求解(Gauss消去法)

Matlab线性方程组求解 1. Gauss消元法: function x=DelGauss(a,b) % Gauss消去法 [n,m]=size(a); nb=length(b); det=1; %存储行列式值 x=zeros(n,1); for k=1:n-1 for i=k+1:n if a(k,k)==0 return end m=a(i,k)/a(k,k); for j=k+1:n a(i,j)=a(i,j)-m*a(k,j); end b(i)=b(i)-m*b(k); end det=det*a(k,k); %计算行列式 end det=det*a(n,n); for k=n:-1:1 %回代求解 for j=k+1:n b(k)=b(k)-a(k,j)*x(j); end x(k)=b(k)/a(k,k);

end Example: >> A=[1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898]; >> b=[1 0 1]'; >> x=DelGauss(A,b) x = 0.9739 -0.0047 1.0010 2. 列主元Gauss消去法: function x=detGauss(a,b) % Gauss列主元消去法 [n,m]=size(a); nb=length(b); det=1; %存储行列式值 x=zeros(n,1); for k=1:n-1 amax=0; %选主元 for i=k:n if abs(a(i,k))>amax amax=abs(a(i,k));r=i; end end if amax<1e-10 return; end if r>k %交换两行 for j=k:n

总结求线性方程组的方法

总结求线性方程组的方法-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

华北水利水电大学 总结求线性方程组的方法 课程名称:线性代数 专业班级: 成员组成: 联系方式: 2014年12月31日

摘要:线性方程组的求解是当代代数学中的一个重要组成部分。它广泛应用在数学以及其他领域。它与矩阵、线性变换、行列式、向量组的线性相关性,二次型,这些型之间有着相当密切的联系。线性方程组是线性代数中一个相当基础的内容必须要学会以及熟悉内容。本文章主要说明和讨论线性方程组的基本结构,然后应用克拉莫法则,高斯消元法来来求解。 关键词:线性方程组、高斯消元法、克拉莫法则; Summary for the method of liner equations Abstract: Solution of the system of linear equations is an important component part of algebra. It is widely used in mathematics and other areas. It and determinant, matrix, linear transformation, linear correlation vector group, quadratic form, has the close relation. System of linear equations is a very basic content in linear algebra must grasp and familiar with the content. This article mainly explain and discuss the basic structure of system of linear equations, then apply law of kramer, gauss elimination method to solve.

第一章-第四讲-n元线性方程组求解

第四讲 n 元线性方程组求解 上一讲我们介绍了当n 元一次线性方程组的系数矩阵A 可逆时,可求出方程组解1X A b -=, 实际上这也是方程组的唯一解。如果方程组系数矩阵A 不可逆或A 不是方阵时,该如何来讨论方程组的解?这一讲将通过矩阵的初等变换来研究n 元一次线性方程组(齐次、非齐次)在什么条件下有解、如何求解以及各种解的表达形式等. n 元一次线性方程组是指形如 ???????=+++=+++=+++m n mn m m 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 ΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛ22112 22221211 1212111 ... ...(4.1) 令 111212122212 n n m m mn a a a a a a A a a a ?? ? ?= ? ???L L L L L L L ,12n x x X x ?? ? ?= ? ???M ,12m b b b b ?? ? ?= ? ??? M 则方程组的矩阵方程形式AX b =.其中:A 称为方程组(4.1)的系数矩阵,°()A A b =称为方程组(4.1)的增广矩阵。 当b O ≠时,称(4.1)式为一元线性非齐次线性方程组; 当b O =时,称 (4.2 ) 式为一元线性齐次线性方程组,其矩阵形式AX O =. 111122121122221122000 n n n n m m mn n a x a x a x a x a x a x a x a x a x +++=??+++=?? ??+++=?L L L L L L L L L L L L L L L ... ...(4.2) 显然X O =是(4.2)式的当然解。所以说,齐次线性方程组的解只有两种情况:唯一解(零解)和无穷多解(非零解)。 把非齐次线性方程组(4.1)式的每个方程右边的常数项都换成0,所得到的齐次线性方程组称为原方程组的导出齐次线性方程组,简称导出组。(即:(4.2)是(4.1)的导出组) 在第二讲的例2.12中,非齐次方程组的解是通过对方程组的增广矩阵实施初等行变换得到的. 那么,这种求解方法是不是对任意的线性方程组都适用?答案是肯定的。下面我们就给出理论证明. 定理4.1 若将非齐次线性方程组AX b =的增广矩阵°()A A b =用初等行变换化为

线性方程组的解法

线性方程组的解法 1 引言 在科学研究和大型工程设计中出现了越来越多的数学问题,而这些问题往往需要求数值解。在进行数值求解时,经离散后,常常归结为求解形如Ax= b的大型线性方程组。而如插值公式,拟合公式等的建立,微分方程差分格式的构造等,均可归结为求解线性方程组的问题.在工程技术的科学计算中,线性方程组的求解也是最基本的工作之一.因此,线性方程组的解法一直是科学和工程计算中研究最为普遍的问题,它在数值分析中占有极其重要的地位。20世纪50年代至70年代,由于电子计算机的发展,人们开始考虑和研究在计算机上用迭代法求线性方程组Ax =b的近似解,用某种极限过程去逐渐逼近精确解,并发展了许多非常有效的迭代方法,迭代法具有需要计算机存储单元少、程序设计简单、原始系数矩阵在计算过程中始终不变等优点。例如Jacobi方法、Gauss—Seidel 方法、SOR方法、SSOR 方法,这几种迭代方法是最常用的一阶线性定常迭代法。 2 主要算法 20世纪50年代至70年代,人们开始考虑和研究用迭代法求解线性方程组。 Ax = b (1) 的近似解,发展了许多有效的方法,其中有Jacobi方法、Gauss—Seidel方法,SOR方法、SSOR方法,这几种迭代方法均属一阶线性定常迭代法,即若系数矩阵A的一个分裂:A =M-N ;M 为可逆矩阵,线性方程组(1)化为: (M-N)X =b; →M X = NX + b; →X= M -1NX+ M-1b 得到迭代方法的一般公式: X(k+1)=HX(k)+d (2) 其中:H =MN-1,d=M-1b,对任意初始向量X(0) 一阶定常迭代法收敛的充分必要条件是: 迭代矩H的谱半径小于1,即ρ(H) < 1;又因为对于任何矩阵范数恒有ρ(H)≤‖H‖,故又可得到收敛的一个充分条件为:‖H‖< 1。 2.1 Jacobi迭代法 若D为A的对角素构成的对角矩阵,且对角线元素全不为零。系数矩阵A的一个分解:A =

Maab求解线性方程组非线性方程组

M a a b求解线性方程组非 线性方程组 The latest revision on November 22, 2020

求解线性方程组solve,linsolve例:A=[5 0 4 2;1 -1 2 1;4 1 2 0;1 1 1 1];%矩阵的行之间用分号隔开,元素之间用逗号或空格B=[3;1;1;0]X=zeros(4,1);%建立一个4元列向量 X=linsolve(A,B)diff(fun,var,n):对表达式fun中的变量var求n阶导数。 例如:F=sym('u(x,y)*v(x,y)'); %sym()用来定义一个符号表达式diff(F); %matlab区分大小写pretty(ans) %pretty():用习惯书写方式显示变量;ans是答案表达式 非线性方程求解 fsolve(fun,x0,options) 其中fun为待解方程或方程组的文件名; x0位求解方程的初始向量或矩阵; option为设置命令参数 建立文件: function y=fun(x) y=[x(1)*sin(x(1))*cos(x(2)), ... x(2) - *cos(x(1))+*sin(x(2))]; >>clear;x0=[,];fsolve(@fun,x0,optimset('fsolve'))注:...为续行符m文件必须以function 为文件头,调用符为@;文件名必须与定义的函数名相同;fsolve()主要求解复杂非线性方程和方程组,求解过程是一个逼近过程。 Matlab求解线性方程组AX=B或XA=B在MATLAB中,求解线性方程组时,主要采用前面章节介绍的除法运算符“/”和“\”。如:X=A\B表示求矩阵方程AX=B的解;X=B/A表示矩阵方程XA=B 的解。对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A 的列数,方程X=B/A同理。 如果矩阵A不是方阵,其维数是m×n,则有:m=n 恰定方程,求解精确解;m>n 超定方程,寻求最小二乘解;m

第三章 解线性方程组的直接方法

习题 3.1 1. 求下列方阵的秩: (1)??? ?? ??--340313021201;(2)????? ??----174034301320;(3)??????? ? ?---------12433023221453334 311 ;(4)??????? ??------34732038234202173132. 2. 求下列方阵的逆矩阵: (1) ?? ? ?? ? ?323513123; (2) ????? ?? ??-----1210232112201023. 3. 解下列矩阵方程 (1) 设 ???? ? ??--=????? ??--=1322 31,113122214B A ,求X 使B AX =; (2) 设 ??? ? ??-=? ???? ??---=132 321,433312120B A ,求X 使B XA =; (3) ?? ??? ??-=????? ??-=????? ??-=112510324, 123011113,1120111111C B A ,求X 使C AXB =. 4. 求下列行列式 (1)? ? ? ??? ??????71 1 0251020214214 ;(2)????????????-260523211213 141 2;(3)?? ? ???????---ef cf bf de cd bd ae ac ab ; (4) ????????????---d c b a 100110011001. 5. 判断下列线性方程组解的情况,如果有唯一解,则求出解. ???????=+++-=----=+-+=+++;01123,2532,242,5)1(432143214 3214321x x x x x x x x x x x x x x x x ? ? ???????=+=++=++=++=+;15,065,065,065,165)2(545434323212 1x x x x x x x x x x x x x (3) ? ?? ??=-++=-+-=-+-;3222, 2353, 132432143214321x x x x x x x x x x x x (4) ?????=---=--+=+++.034,0222,022432143214321x x x x x x x x x x x x 习题 3.2 1. 用回代法解上三角形线性方程组 (1)??? ????==+-=-+=++;63,3,6333,8484443432321x x x x x x x x x (2)?? ???? ?-=-=+--=+--=-+.63,1032,92,9244343242 1x x x x x x x x x 2. 用回代法解下三角形线性方程组

线性方程组解的判定

1 / 3 第四节 线性方程组解的判定 从本节开始,讨论含有n 个未知量、m 个方程的线性方程组的解. 11112211211222221122n n n n m m mn n m a x a x a x b a x a x a x b a x a x a x b +++=??+++=????+++= ? (13—2) 主要问题是要判断出方程组(13-2)何时有解?何时无解?有解时解有多少?如何求出方程组的解。 线性方程组有没有解,以及有怎样的解,完全决定于方程组的系数和常数项。因此,将线性方程组写成矩阵形式或向量形式,以矩阵或向量作为讨论线性方程组的工具,将带来极大的方便。 方程组(13-2)中各未知量的系数组成的矩阵111212122212n n m m mn a a a a a a A a a a ??????=?????? 称为方程组(13-2)的系数矩阵.由各系数与常数项组成的矩阵,称为增广矩阵,记作A ,即 11121121 222212n n m m mn m a a a b a a a b A a a a b ??????=?????? 方程组(13-2)中的未知量组成一个n 行、1列的矩阵(或列向量),记作X ;常数项组成一个m 行、1列 的矩阵(或列向量),记作b ,即12n x x X x ??????=??????,12m b b b b ??????=?????? 由矩阵运算,方程组(13—2)实际上是如下关系111212122212 n n m m mn a a a a a a a a a ????????????12n x x x ????????????=12m b b b ???????????? 即 AX=b

解线性方程组的直接解法

解线性方程组的直接解法 一、实验目的及要求 关于线性方程组的数值解法一般分为两大类:直接法与迭代法。直接法是在没有舍入误差的情况下,通过有限步运算来求方程组解的方法。通过本次试验的学习,应该掌握各种直接法,如:高斯列主元消去法,LU分解法和平方根法等算法的基本思想和原理,了解它们各自的优缺点及适用范围。 二、相关理论知识 求解线性方程组的直接方法有以下几种: 1、利用左除运算符直接求解 线性方程组为b x\ =即可。 A Ax=,则输入b 2、列主元的高斯消元法 程序流程图: 输入系数矩阵A,向量b,输出线性方程组的解x。 根据矩阵的秩判断是否有解,若无解停止;否则,顺序进行; 对于1 p :1- =n 选择第p列中最大元,并且交换行; 消元计算; 回代求解。(此部分可以参看课本第150页相关算法) 3、利用矩阵的分解求解线性方程组 (1)LU分解 调用matlab中的函数lu即可,调用格式如下: [L,U]=lu(A) 注意:L往往不是一个下三角,但是可以经过行的变换化为单位下三角。 (2)平方根法

调用matlab 中的函数chol 即可,调用格式如下: R=chol (A ) 输出的是一个上三角矩阵R ,使得R R A T =。 三、研究、解答以下问题 问题1、先将矩阵A 进行楚列斯基分解,然后解方程组b Ax =(即利用平方根法求解线性方程组,直接调用函数): ??????? ??--------=19631699723723312312A ,?????? ? ??-=71636b 解答: 程序: A=[12 -3 2 1;-3 23 -7 -3;2 -7 99 -6;1 -3 -6 19]; R=chol(A) b=[6 3 -16 7]'; y=inv(R')*b %y=R'\b x=inv(R)*y %x=R\y 结果: R =3.4641 -0.8660 0.5774 0.2887 0 4.7170 -1.3780 -0.5830 0 0 9.8371 -0.7085 0 0 0 4.2514 y =1.7321 0.9540 -1.5945 1.3940 x =0.5463 0.2023 -0.1385 0.3279 问题 2、先将矩阵A 进行LU 分解,然后解方程组b Ax =(直接调用函数): ?????????? ??----=8162517623158765211331056897031354376231A ,????????? ? ??-=715513252b

线性方程组解题方法技巧与题型归纳

线性方程组解题方法技巧与题型归纳 题型一 线性方程组解的基本概念 【例题1】如果α1、α2是方程组 123131233231 2104 x x ax x x x ax x --=?? -=??-++=? 的两 个不同的解向量,则a 的取值如何 解: 因为α1、α2是方程组的两个不同的解向量,故方程组有无穷多解,r(A)= r(Ab)<3, 对增广矩阵进行初等行变换: 21131132031022352104002314510a a a a a a a ----???? ? ?-→-- ? ? ? ?-----???? 易见仅当a=-2时,r(A)= r(Ab)=2<3, 故知a=-2。 【例题2】设A 是秩为3的5×4矩阵, α1、α2、 α3是非齐次线性方程组Ax=b 的三个不同的解,若α1+α2+2α3=(2,0,0,0)T , 3α1+α2= (2,4,6,8)T ,求方程组Ax=b 的通解。 解:因为r(A)= 3,所以齐次线性方程组Ax=0的基础解系由4- r(A)= 1个向量构成, 又因为(α1+α2+2α3)-(3α1+α2) =2(α3-α1)=(0,-4,-6,-8)T , 是Ax=0的解, 即其基础解系可以是(0,2,3,4)T , 由A (α1+α2+2α3)=Aα1+Aα2+2Aα3=4b 知1/4

(α1+α2+2α3)是Ax=b 的一个解, 故Ax=b 的通解是 ()1,0,0,00,2,3,42T T k ?? + ??? 【例题3】已知ξ1=(-9,1,2,11)T ,ξ2=(1,- 5,13,0)T ,ξ3=(-7,-9,24,11)T 是方程组 12234411223441 234432332494x a x x a x d x b x x b x x x x c x d +++=?? +++=??+++=?的三个解,求此方程组的通解。 分析:求Ax=b 的通解关键是求Ax=0的基础解系,判断r(A)的秩。 解:A 是3×4矩阵, r(A)≤3,由于A 中第2,3两行不成比例,故r(A)≥2,又因为 η1=ξ1-ξ2=(-10,6,-11,11)T , η2=ξ2-ξ3= (8,4,-11,-11)T 是Ax=0的两个线性无关的解向量, 于是4- r(A)≥2,因此r(A)=2,所以ξ1+k 1η1+k 2η2是通解。 总结: 不要花时间去求方程组,太繁琐,由于ξ1-ξ2,ξ1-ξ3或ξ3-ξ1,ξ3-ξ2等都可以构成齐次线性方程组的基础解系,ξ1,ξ2,ξ3都是特解,此类题答案不唯一。 题型2 线性方程组求解

线性方程组的解法及其应用

线性方程组的解法及其应用 The solution of linear equation and its application 专业:测控技术与仪器 班级: 2010-1班 作者:刘颖 学号: 20100310110105

摘要 线性方程组是线性代数的一个重要组成部分,也在现实生产生活中有着广泛的运用,在电子工程、软件开发、人员管理、交通运输等领域都起着重要的作用。在一些学科领域的研究中,线性方程组也有着不可撼动的辅助性作用,在实验和调查后期利用线性方程组对大量的数据进行处理是很方便简捷的选择。本文主要围绕如何解线性方程组来进行讲解,对于不同类型的线性方程组的不同方法,并简述线性方程组的一些实际应用。 关键词: 齐次线性方程组,非齐次线性方程组,克莱姆法则,消元法,矩阵,矩阵的秩,特解,通解。

Abstract Linear equations linear algebra is one of the important component parts, and in real life has extensive production use,and it plays an important role in electronic engineering, software development, personnel management, transportation, etc. In some discipline study, it also has the reigns of linear equations of the auxiliary function.In experiment and survey using the linear equations of the late on the data processing is very convenient simple choice. This article, focusing on how to solve linear equations to explain, for different types of linear equations of different methods, and briefly introduces some of the practical application of linear equations. Keywords: Homogeneous linear equations, Non homogeneous linear equation,Clem’s law,Elimination method,Matrix,Rank of matrix,Special solution,General solution.

求解线性方程组

《线性方程组求解》实验报告 实验名称:线性方程组求解成绩:___________ 专业班级:数学与应用数学1202班姓名:张晓彤学号:2012254010227 实验日期: 2014年11月21日 实验报告日期: 2014年11月21日 一、实验目的 (1)掌握四种求解线性方程组的直接左除法、LU分解法、QR分解法以及Cholesky 分解法. (2)掌握求解线性方程组过程中的基本理论思想. (3)能够熟练使用matla软件对线性方程组进行不同方式的求解. (4)能够区分四种求解方法的不同,以及每种方法的特点和优劣. 二、实验内容 2 .1(验证性实验)验证求解线性方程组的直接左除法、LU分解法、QR分解 法以及Cholesky分解法.给出相关例题进行验证.

例三:用QR 分解法求解线性方程组1231231 234543727105x x x x x x x x x -+=??-+=??++=?,要求写出分解出的 矩阵L 和U. 例四:用Cholesky 分解法求解线性方程组Ax b =,给出A 和b 分别为: 211121113A ?? ?=- ? ?-??,634b ?? ?= ? ??? 2.2借用实例来区分四种方法的不同 三、实验环境 该实验应用matlab2014来进行实验的验证和设计. 四、实验步骤和结果

b=[8;6;5;1]; [L,U]=lu(A) x=U\(L\b) 得到方程组的解为: L = 1.0000 0 0 0 -0.3000 -0.0400 1.0000 0 0.5000 1.0000 0 0 0.2000 0.9600 -0.7742 1.0000 U = 10.0000 -7.0000 0 1.0000 0 2.5000 5.0000 -1.5000 0 0 6.2000 2.2400 0 0 0 4.9742 x =

线性方程组的求解方法与应用

湖北民族学院理学院2016届 本科毕业论文(设计) 线性方程组的求解方法及应用 学生姓名:付世辉学号: 0 专业:数学与应用数学指导老师:刘先平 答辩时间:装订时间:

A Graduation Thesis (Project) Submitted to School of Science, Hubei University for Nationalities In Partial Fulfillment of the Requiring for BS Degree In the Year of 2016 The calculation method and application of the system of linear equations Student Name: Fu Shihui Student No.: 0 Specialty:Mathematics And Applied Mathematics Supervisor: Liu Xianping Date of Thesis Defense:Date of Bookbinding:

摘要 线性方程组在数学领域中的应用非常广泛,是线性代数的主要内容之一. 矩阵及其基本理论是学习线性代数的一种基本工具,矩阵的初等变换则是线性方程组求解的工具. 线性方程组常用的求解方法有一般消元法、克拉默法则、LU分解法等一系列方法,根据问题的不同,我们在求解的过程中选择的方法也就多种多样. 这些方法可以很好地解决线性方程组的求解问题,在求解过程中,向量和矩阵起着一个不可或缺的作用. 在线性方程组的应用方面,除了跟数学理论知识有着密不可分的联系,还和我们的实际生活联系的极其紧密. 关键词:线性方程组,矩阵,初等变换,克拉默法则,LU分解法

线性方程组的几种求解方法

线性方程组的几种解法 线性方程组形式如下: 常记为矩阵形式 其中 一、高斯消元法 高斯(Gauss)消元法的基本思想是:通过一系列的加减消元运算,也就是代数中的加减消去法,将方程组化为上三角矩阵;然后,再逐一回代求解出x 向量。现举例说明如下: (一)消元过程 第一步:将(1)/3使x 1的系数化为1 得 再将(2)、(3)式中x 1的系数都化为零,即由(2)-2×(1)(1) 得 )1(32)2( (03) 4 32=+x x )1(321)1(......23132=++ x x x

由(3)-4×(1)(1) 得 第二步:将(2)(1) 除以2/3,使x 2系数化为1,得 再将(3)(1) 式中x 2系数化为零,即 由(3)(1) -(-14/3)*(2)(2) ,得 第三步:将(3)(2) 除以18/3,使x 3系数化为1,得 经消元后,得到如下三角代数方程组: (二)回代过程 由(3)(3) 得 x 3=1, 将x 3代入(2)(2) 得x 2=-2, 将x 2 、x 3代入(1)(1) 得x 2=1 所以,本题解为[x]=[1,2,-1]T (三)、用矩阵演示进行消元过程 第一步: 先将方程写成增广矩阵的形式 第二步:然后对矩阵进行初等行变换 初等行变换包含如下操作 (1) 将某行同乘或同除一个非零实数 ) 3(3)3(......1-=x )2(3)3( (63) 18-=x ) 2(32) 2(......02=+x x ) 1(32)3( (63) 10 314-=-- x x

(2)将某行加入到另一行 (3)将任意两行互换 第三步:将增广矩阵变换成上三角矩阵,即主对角线全为1,左下三角矩阵全为0,形式如下: 示例: (四)高斯消元的公式 综合以上讨论,不难看出,高斯消元法解方程组的公式为 1.消元 (1)令 a ij(1) = a ij , (i,j=1,2,3,…,n) b i(1) =b i , (i=1,2,3,…,n) (2)对k=1到n-1,若a kk(k)≠0,进行 l ik = a ik(k) / a kk(k) , (i=k+1,k+2,…,n) a ij(k+1) = a ij(k) - l ik * a kj(k), (i,j= k+1,k+2,…,n) b i(k+1) = b i(k) - l ik * b k(k), (i= k+1,k+2,…,n) 2.回代 若a nn(n) ≠0 x n = b n(n) / a nn(n) x i = (b i(i) – sgm(a ij(i) * x j)/- a ii(i),(i = n-1,n-2,…,1),( j = i+1,i+2,…,n ) (五)高斯消元法的条件 消元过程要求a ii(i) ≠0 (i=1,2,…,n),回代过程则进一步要求a nn(n) ≠0,但就方程组Ax=b 讲,a ii(i)是否等于0时无法事先看出来的。 注意A的顺序主子式D i(i=1,2,…,n),在消元的过程中不变,这是因为消元所作的变换是“将某行的若干倍加到另一行”。若高斯消元法的过程进行了k-1步(a ii(i) ≠0,i

Matlab求解线性方程组、非线性方程组

Matlab求解线性方程组、非线性方程组 姓名:罗宝晶学号:15 专业:材料学院高分子系 第一部分数值计算 Matlab求解线性方程组AX=B或XA=B 在MATLAB中,求解线性方程组时,主要采用除法运算符“/”和“\”。如:X=A\B表示求矩阵方程AX=B的解; X=B/A表示矩阵方程XA=B的解。 对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数,方程X=B/A同理。 如果矩阵A不是方阵,其维数是m×n,则有: m=n 恰定方程,求解精确解; m>n 超定方程,寻求最小二乘解; mm。则方程组没有精确解,此时称方程组为超定方程组。线性超定方程组经常遇到的问题是数据的曲线拟合。对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;还可以用广义逆来求,即x=pinv(A),所得的解不一定满足Ax=b,x只是最小二乘意义上的解。左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;广义逆法是建立在对原超定方程直接进行householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;

线性方程组求解

第三章 线性方程组 §1 消元法 一、线性方程组的初等变换 现在讨论一般线性方程组.所谓一般线性方程组是指形式为 ?? ? ?? ? ?=+++=+++=+++s n sn s s 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 22112222212111212111, , (1) 的方程组,其中n x x x ,,,21 代表n 个未知量,s 是方程的个数, ),,2,1;,,2,1(n j s i a ij ==称为线性方程组的系数,) ,,2,1(s j b j =称为常数项. 方程组中未知量的个数n 与方程的个数s 不一定相等.系数ij a 的第一个指标i 表示它在第i 个方程,第二个指标j 表示它是j x 的系数. 所谓方程组(1)的一个解就是指由n 个数n k k k ,,,21 组成的有序数组 ),,,(21n k k k ,当n x x x ,,,21 分别用n k k k ,,,21 代入后,(1)中每个等式都变成恒 等式. 方程组(1)的解的全体称为它的解集合.解方程组实际上就是找出它全部的解,或者说,求出它的解集合.如果两个方程组有相同的解集合,它们就称为同解的. 显然,如果知道了一个线性方程组的全部系数和常数项,那么这个线性方程组就基本上确定了.确切地说,线性方程组(1)可以用下面的矩阵 ???? ?? ? ??s sn s s n n b a a a b a a a b a a a 21 222221111211 (2) 来表示.实际上,有了(2)之后,除去代表未知量的文字外线性方程组(1)就确定了,而采用什么文字来代表未知量当然不是实质性的.在中学所学代数里学过用加减消元法和代入消元法解二元、三元线性方程组.实际上,这个方法比用行列式解线性方程组更有普遍性.下面就来介绍如何用一般消元法解一般线性方程组. 例如,解方程组

线性方程组的直接解法

第2章线性方程组的直接解法 2.1实验目的 理解线性方程组计算机解法中的直接解法的求解过程和特点,学习科学计算的方法和简单的编程技术。 2.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.一些特殊的线性方程组 1) 上三角方程组 2) 三对角方程组 ? ? ? ? ? ? ? ? ? ? ? ? = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - n n nn n n n n n n n n b b b x x x a a a a a a a a a a a a 2 1 2 1 1 1 1 2 1 2 23 22 1 1 1 13 12 11

4.矩阵的Doolittle 分解 5.Doolittle 分解的紧凑格式 6.矩阵的Crout 分解 ????????? ? ??=?????????? ???????????? ? ?--n n n n n n d d d x x x b a c b c b a c b a c b 21 2111333 22211???? ?? ? ? ???????? ??=??????? ??nn n n n n nn n n n n u u u u u u l l l a a a a a a a a a 222 11211 2 1 21 2 1 2222111211111 ???? ?? ? ? ???????? ??=??????? ??11 1 21122 1 2221 11 2 1 2222111211 n n nn n n nn n n n n u u u l l l l l l a a a a a a a a a ????? ?? ? ??nn n n n n n n u l l l u u l l u u u l u u u u 3 2 1 333323122322211131211

相关文档