版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用标准文档线性方程组的数值解法、下三角方程组的解法对于线性方程组:01L2,11,0L2,0Y0Y1Y2B0B1B2Ln 1,0Ln 1,1Ln 1, 2Yn 1Bn 1即:Y0L1,0Y0L2,0Y0Y1L2,1Y1B0B1B2文案大全Ln 1,0Y0Ln 1,1Y1LnYn 1Bn 1实用标准文档Y0B0Y1B1L1,0Y0Y2B2L2,0Y0L2,1Y1Yn 1Bn 1Ln 1,0Y0Ln 1,1Y1Ln 1,n 2Yn写成通式的形式:i1Yi BiLijYj(i 0,1,2, ,n 1)j0C+ 源程序: #include const int n=4;void LYB(double
2、Lnn+1)for(int i=0;in;i+)for(int j=0;j=i-1;j+)Lin-=Lij*Ljn;void main()文案大全实用标准文档double Lnn+1=1,0,0,0,4,1,1,0,0,7,1,-1,1,0,3,1,-1,-1,1,0;LYB(L);for(int i=0;in;i+) coutYi=Linendl;、上三角方程组的解法对于线性方程组:即:U0,0X0U0,0 U0,1U0,2U0,n 1X0Y00U1,1U1,2U1,n 1X1Y100U2,2U2,n 1X2Y2000Un 1,n 1Xn1Yn 1U0,1X1U 0,n 2Xn2U0,n 1
3、Xn 1Y0U1,1X1U1,n 2Xn2U1,n 1Xn 1Y1Un 2,n 2Xn2Un 2,n 1Xn 1Yn 2Un 1,n 1Xn 1Yn 1文案大全实用标准文档Xn 1(Yn 1)/Un 1,n 1Xn 2(Yn 2n 2,n 1 n)/Un 2,n 2X1 ( Y1U1,2X2U1,3X3U1,n 1Xn1)/ U1,1X0 ( Y0U0,1X1U0,2X2U0,n 1Xn1)/ U0,0写成通式的形式:n1YiUij X j(in 1,n 1, ,2,1,0)Xi j i 1iUii#include const int n=4;void UXY(double Unn+1)for
4、(int i=n-1;i=0;i-)for(int j=i+1;j=n-1;j+) Uin-=Ui j*Ujn;Uin/=Uii;文案大全实用标准文档void main()double Unn+1=1,-1,-1,1,0,0,1,-1,1,3, 0,0,1,1,3,0,0,0,1,2;UXY(U);for(int i=0;in;i+) coutXi=Uinendl;三、 GAUSS 消去法解线性方程组1、消去目标文案大全实用标准文档a0,0a0,1a0,2a0, n 1x0a0,na1,0a1,1a1,2a1,n 1x1a1,na2,0a2,1a2,2a2,n 1x2a2,nan 1,0an
5、1,1 an 1,2an 1,n 1xn 1an 1,n同解变形u0,0 u0,1u0,2u0,n 1x0u0,n0u1,1u1,2u1,n 1x1u1,n00u2,2u2,n 1x2u2,n000un 1,n 1xn 1un 1,n2、消去过程(假定在以下消去演算中不会出现分母为 0 的情况)为直观起见,我们把方程组写成如下形式:文案大全实用标准文档a0(0,0) x0a0(0,1) x1a0(0,2) x2a0(0,n)1 xn 1a0(0,n)(0)(0)(0)(0)1 xn 1(0)a1,0 x0a1,1 x1a1,2 x2a1,na2,na2(0,0) x0a2(0,1) x1a2(
6、0,2) x2a2(0,n)1 xn 1a2(0,n)2,n(0)(0)(0)(0)1 xn 1(0)an 1,0 x0an 1,1 x1an 1,2 x2an 1,na n 1,n第 0 步,实现第 0 列目标:消去第( 1)、2)、(n-1 )中的x0项,(0)式保持不变。方法:(0)(0)不动1)(1) (1)(0)(0)(0)(0)a1(,00)2)(1) (2)(0)a0,0(0)(0)(0)a2(0,0)(i)(1) (i)(0) (a0)(0) ai(a0,0a0,0i 1,2,3, n 1n 1)(1) ( n1)(0)(0)(0)an(0)1,0文案大全实用标准文档ai(j1
7、)a(0)a0(0j) a(0)aijai 0即: i1,2,3,4, , nj 1,2,3,4 ,n 1, n注意:j=0 可以不算,如果要算,其结果肯定是 0 。经第一步计算后,方程组变成了如下形式:a0(0,0)x0(0) a0,1 x1a0( 0,2) x20(1)a1,1 x1a1(,12)x20(1) a2,1x1a2(1,)2x21xn 1(1)a1,n 1 xn 1a2 ,n 1xn 1a1(,1n)(1)an 1,1x1(1)an 1,2 x2a(1)nn 1,n1 xn 1an(1)1,n第 1 步:在第 0 步成果的基础上,实现第 1 列目标:消去第(2)、(3)、(n-
8、1 )中的 x1项, (0)、(1)式保持不变。方法:文案大全实用标准文档(0)(0)(1)(1)(2)(2)(2)(1)不动不动(1)(1)a1(,11)(i)(2) (i)(1)(1)(1)a1(,11)ai(11)(n 1)(2) (n 1)(1) (a1)1(,11) an(1)1,1i 2,3, , n 1即:(2)(1)a(1) a2 j(1)aijaija(1)a1,1ai,1i 2,3,4,n1j 2,3,4,n1,n经第二步计算后,方程组变成了如下形式:文案大全a0(0,0)x0a0( 0,1) x1a0(,02)x2a0(0,n)1 xn 1a0, n0a1(,11) x1
9、a1(,12) x2a1(,1n)xa(1)1 xn 1a1,n00a2(2,2)x2a2(2,n)1 xn 1a2 ,n0000(2) an 1,2 x2an(2)1,nxa( 2)1 xn 1 an 1,n由第一步、第二步的消去过程,不难归纳出任步(第k 步)的计算通式:ai(jk)ai(jk 1)a (k 1) aika( k 1)(k 1) akj akk实用标准文档0,1,2, k 1, k k 1, kn22, , n 12, , n 1, nGauss 消去法已经将原方程组变形为上三角 方程组,逆序回代容易求出最后结果。在第 k 步 Gauss 消去法中,要用到 ak(kk 1)
10、做分母,这就严格要求 ak(kk1)的绝对值不能太小。对于文案大全实用标准文档事先无法估计的 ak(kk 1) 值,解决办法是: 每步消去之前,先考察待消去的几个方程的ai(kk 1)绝对值大小,并交换方程次序, 以保证 ak(kk 1) 绝对值最大。程序设计思路:1 、 设计数组 an 1,n,其中前面的 0 至 n-1 列 存放方程组的系数矩阵 ,第 n 列存放常数 项。2 、 设计求列中最大值函数,为选择主元作准 备。3 、 设计一个交换数据函数,为交换方程做准 备,4、 设计一个消去函数,其中要调用求列中最 大值函数确定主元,要调用交换数据函数文案大全实用标准文档来交换方程5 、 调用
11、上三角方程组的求解函数求出最终解。6 、 主函数准备数据、调用有关函数、输出结果课堂练习:编程实现用 Gauss 消去法解任意大小的方程组。#include #include const int n=4;/* 下面是求列中最大值函数, 考察范围是: akk 、 ak+1k 、an-1k, 返回结果是主元的行号, 为选择主元作准备。 */int Max(double ann+1,int k)int t=k;double max=fabs(akk);for(int i=k+1;imax)文案大全实用标准文档 t=i; max=fabs(aik); return t;/* 下面是一个交换第 k 行和
12、第 t 行方程的函数,选 主元的后续工作 */void change(double ann+1,int k,int t) double x; for(int j=k;j=n;j+) x=ak j; ak j=atj; at j=x;/* 下面是高斯消去法的核心函数,其中调用求主 元、交换方程函数 */ void gauss(double ann+1)文案大全实用标准文档for(int k=0;kn-1;k+)int t=Max(a,k);if(t!=k)change(a,k,t);for(int i=k+1;in;i+)j/akk;for(int j=k+1;j=0;i-)for(int j=
13、i+1;j=n-1;j+) ain-=ai j*a jn;ain/=aii;/* 主函数void main()文案大全实用标准文档double Ann+1=1,1,-1,1,4,1,-1,-1,1,0, 2,1,-1,-1,-3,2,2,1,-1,5;gauss(A);LYB(A);for(int i=0;in;i+)coutxi=Ainendl;coutendl;四、三角分解法解线性方程组1、对于 n 元线性方程组,其分解目标是:文案大全实用标准文档a0,0a0,1a0,2a0,n 1a1,0a1,1a1,2a1,n 1a2,0a2,1a2,2a2,n 1an 1,0an 1,1an 1,2
14、an 1, n 1三角分解1000U 0,0U 0,1 U 0,2U 0,n 1L1,01000U 1,1 U 1, 2U 1,n 1L2,0L2,11000 U 2,2U 2,n 1Ln 1,0Ln 1,1Ln 1, 21000U n 1,n 12、分解过程:分 n 步进行,每一步又拆分成 两小步,即有: 0.1,0.2 步;1.1 ,1.2 步; 2.1 , 2.2 步;n-1.1,n-1.2 步。请注意:文案大全实用标准文档0.1 步:观察矩阵 A 的第 0 行元素:a0,0 U 0,0a0,1 U 0,1a0,2 U 0,2 U 0, j a0, j ( j 0,1,2, , n 1)
15、0 ,n 10.2 步:观察矩阵 A 的第 0 列剩余元素(已运 算过的元素不再考虑) :a0,0不考虑a1,0 L1,0 U 0,0a2,0 L2,0 U 0,0Li,0 ai ,0 /U 0,0 (i 1,2, , n 1) an 1,0 Ln 1,0 U 0,01.1 步:观察矩阵 A 的第 1 行剩余元素(已运 算过的元素不再考虑) :文案大全实用标准文档a1,0不考虑a1,1L1,0U 0,1 U 1,1U 1, ja1, jL1,0U 0, ja1,2L1,0U 0,2 U 1,2( j 1,2, n 1)a1, n 1L1,0U 0,n 1 U 1,n 11.2步:观察矩阵 A的
16、第 1 列剩余元素(已运算过的元素不再考虑) :a0,1不考虑a1,1不考虑Li ,1 (ai ,1 Li ,0U 0,1 ) / U 1,1a2,1 L2,0 U 0,1 L2,1 U 1,1( j 2, , n 1)an 1,1 Ln 1,0 U 0,1 Ln 1,1 U 1,1k.1 步:观察矩阵 A 的第 k 行剩余元素(已运 算过的元素不再考虑) :此时,矩阵 A 的第 k 行剩余元素有:ak ,k , ak ,k 1, , ak,n 1ak , j ( j k, k 1, , n 1)注意, j k ,矩阵 L 的第 k 行元素是:文案大全实用标准文档Lk,0, Lk,1, ,Lk
17、,k 1 ,1,0, ,0 尾部有 n-k 个 0,0 多。 矩阵 U 的第 j 列元素是:U0,j ,U1,j, ,U j 1,j,U j,j ,0, ,0 尾部有 n-j 个 0,0 少。所以:ak,j Lk,0U0, j Lk ,1U 1, jLk,k 1Uk 1,j Uk,jk1Lk,qUq,j Uk, jq0所以:k1U k,j ak,jLk,qU q,jq0j k,k 1, , n 1k.2 步:观察矩阵 A 的第 k 列剩余元素(已运算过的元素不再考虑) :此时,矩阵 A 的第 k 列剩余元素有:ak 1,k , ak 2,k, ,an 1,kai,k (i k 1,k 2, ,
18、 n 1)注意, i k,矩阵 L 的第 i 行元素是:文案大全实用标准文档Li,0,Li,1, , Li,i 1,1,0, ,0 尾部有 n-i 个 0,0 少。矩阵 U 的第 j 列元素是:U0,k,U1,k, ,U k 1,k ,Uk,k,0, ,0 尾部有 n-k 个 0,0 多。所以:ai,kLi,0U 0,kLi,1U1,kk1Li,k 1Uk 1,kLi,kU k,kLi,qU q,kLi,kU k,kq0所以:i,kk1ai,kLi,qUq,kq0Uk,kk1ai,kLi,qUq,kq0Uk,k3、小结:方阵 A 的 LU 分解过程可总结为:文案大全实用标准文档k0,1,2,n
19、k11Uk,jak,jq0k1Lk,qU q,jai,kLq0i,qUq,kLi,kU k,kj k,k 1, ,n 1i k 1,k 2, ,n 14、利用矩阵的 LU 分解法解线性方程组a0,0a0,1a0,2a0,n 1x0b0a1,0a1,1a1,2a1,n 1x1b1a2,0a2,1a2,2a2,n 1x2b2an 1,0an 1,1an 1,2an 1,n 1xn 1bn 11000U0,0 U0,1 U 0,2U 0,n 1x0b0L1,01000 U1,1 U1,2U1,n 1x1b1L2,0L2,1100 0 U 2,2U 2,n 1x2b2Ln 1,0 Ln1,1 Ln 1
20、,21000U n 1,n 1xn 1bn 1假若UX=Y ,则LY=B即假设:文案大全实用标准文档1000y0b0L1,0100y1b1L2,0L 2,110y2b2Ln 1,0 Ln 1,1 Ln1,2 1yn 1bn 1则:U0,0U 0,1 U 0,2U 0, n 1x0y00U 1,1 U 1,2U1, n 1x1y100 U 2,2U 2, n 1x2y2000U n 1, n 1xn 1yn 1程序设计思路:1、设计一个数组 a(n, n 1),其中前面的 0 至 n-1 列存放方程组的系数矩阵 ,第 n 列存放常数项。2、对数组 a(n, n 1)的系数矩阵部分 (0 至 n-1 列)进行 LU 分解,常数项 (数组 a(n,n 1)的第 n 列)文案大全实用标准文档保持不动。LU 分解的结果依然存放在数组 a(n,n 1) 中,其 中下三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳工合同范本 宁波
- 春季防溺水国旗下讲话稿(34篇)
- 货物交付合同范本
- 墓地合同范本模板
- 转正述职报告工作总结
- 天津驾校 合同范本
- 2023年镇江市中西医结合医院招聘考试真题
- 2023年四川成都中医药大学第二附属医院考核招聘笔试真题
- 2023年丽水市浙拓项目管理有限公司招聘考试真题
- 北京市预付卡合同范本
- 江西省萍乡市2024-2025学年高二上学期期中考试地理试题
- 江苏省南京市玄武区2024-2025学年七年级上学期期中考试英语试卷
- 新版加油站安全操作规程
- 2023年贵州黔东南州州直机关遴选公务员考试真题
- 货物质量保证措施方案
- 黑龙江省龙东地区2024-2025学年高二上学期阶段测试(二)(期中) 英语 含答案
- 4S店展厅改造装修合同
- 公务员2022年国考申论试题(行政执法卷)及参考答案
- (培训体系)2020年普通话测试培训材料
- 3-4单元测试-2024-2025学年统编版语文六年级上册
- 北师版数学八年级上册 5.8三元一次方程组课件
评论
0/150
提交评论