c语言迭代法解线性代数方程,迭代法求线性代数方程组程序.docx
迭代法求线性代数方程组
计算物理
辽宁科技大学
理学院
骆宾祥
学号:120123802038
迭代法求线性代数方程组
骆宾祥
摘 要:目前在许多实际应用领域,诸如航空、造船以及其它结构工程中,常遇到求解大型线性代数方程组的问题。本文用迭代法求解线性代数方程组并用c语言编辑程序求解。
关键字:线性代数方程组、迭代法、c语言
一、 引言
在自然科学、工程技术、经济和医学各领域中产生的许多实际问题都可以通过数学语言描述为数学问题,也就是说,由实际问题建立数学模型,然后应用各种数学方法和技巧来求解,最后把结果反馈到实际应用中去。
计算数学是数学学科的一大分支,它研究如何借助于计算机求解各类数值问题。应用计算机求解各类数值问题需要经历以下几个主要过程:1、实际问题2、数学模型3、计算方法4、算法设计5、计算求解
目前已有的数学软件可以帮助我们实现上机计算,基本上已经将数值分析的主要内容设计成简单的函数,只要调用这些函数进行运算便可得到数值结果。
数值分析的内通包括线性代数方程组求解、非线性代数方程(组)求解、矩阵的特征值与特征值向量的计算、函数插值、函数逼近、数值积分与数值微分以及微分方程数值解法。
线性方程组的求解从理论上可分为两类:直接法和迭代法。直接法是不考虑计算过程中的舍入误差,经过有限次的运算得到方程组精确解的方法,常见的方法是高斯顺序消去法、高斯列主元消去法和矩阵的LU分解法。迭代法是
采用某种极限过程,用线性代数方程组的近似解逐步逼近精确解的方法。迭代法中常见的方法有简单迭代法、J-迭代法、GS-迭代法和SOR-迭代法。
二 、 迭代法
迭代法的基本思想:是将线性方程组转化为便于迭代的等价方程组,对任选一组初始值xi(i=1,2…n),按某种计算规则,不断地对所得到的值进行修正,最终获得满足精度要求的方程组的近似解。
对于线性方程组Ax=b 其中,A为非奇异矩阵。
将A分裂为A=M-N,其中,M为非奇异矩阵,且要求线性代数方程组Mx=d容易求解,一般选择为A的某一部分元素构成的矩阵,称M为A的分裂矩阵。于是,求解Ax=b转化为求解Mx=Nx+b,由此可构造一个迭代法:
x(0)(初始向量) , x(k+1)=Bx(k)+f (k=0,1,2…)
其中,f=b/M,B=I-A/M为迭代法的迭代矩阵。
选取M为A的对角元素组成的矩阵,即选取M=D,可得到解Ax=b的雅克比迭代法:
x(0)(初始向量),x(k+1)=Bx(k)+f (k=0,1,2…)
BJ为求解Ax=b的雅克比迭代法的迭代矩阵。
解雅克比迭代法的计算公式为:
(k=0,1,2,……:i=1,2,3,……..n)
雅克比方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,,它是基于以下两个结论:
1)任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得 QTAQ=diag(λ1,λ2,…,λn) 其中λi(i=1,2,…,n)是A的特征值,Q中各列为相应的特征向量。
2)在正交相似变换下,矩阵元素的平方和不变。即设A=(aij)n*n ,Q为交矩阵,记B=QTAQ=(bij)n*n,则i,j=1naij2=i,j=1nbij2
雅克比方法的基本思想:是通过一次正交变换,将A中的一对非0的非对角线化成0,并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于0,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量
三、 迭代法实例
解题步骤:
将方程组记为Ax=b,其中 A=2.0 0.00.0 1.02.0 2.03.0 2.06.0 1.0-6.0 -5.04.0 -3.0 0.0 1.0 b=0.0-2.06.0-7.0
将原方程组改写为x1=-1.02.0x4x2=-12.02.0x1+3.0x3+2.0x4+2.0 x3=16.06.0x1+1.0x2-5.0x4-6.0 x4=-4.0x1+3.0x2-7.0 (1)
也可写为 x=Bx+f 其中 B= 0.0 0.0 0.0 -1.02.0 -1.0 0.0 -3.02.0 -1,0 1.0 1.06.0 -5.06.0 -1.0-4.0 3.0 0.0 0.0 f=0.0-1.0-1.0-7.0
任取初始值x(0)=(0.0,0.0,0.0,0.0)T,代入(
c语言迭代法解线性代数方程,迭代法求线性代数方程组程序.docx相关推荐
- 【算法设计zxd】第3章迭代法03 线性代数方程
线性代数方程: 设线性代数方程组具有如下特征: 算法框架 (1)设置线性代数方程组的初值X=(x1,-,xn-1 ,xn): (2)构造迭代方程xi=gi (X) (i=1,-,n-1,n ...
- 复化梯形公式求椭圆周长C语言,C语言编程解线性,非线性方程,龙贝格算法.docx
C语言编程解线性,非线性方程,龙贝格算法 课程设计课程名称:数值计算B 设计题目:数值计算B课程设计学号:姓名:完成时间: 2015年10月27日题目一:非线性方程求根一.题目假设人口随时间和当时人口 ...
- c语言gs迭代法解方程,ex1_7-GS迭代法例题源程序及注释.pdf
!example1_7 !注释 PROGRAM MAIN !主程序 DIMENSION A(4,4), B(4), X(4) !四个波长,混合物由四个组分组成 DOUBLE PRECISION A, ...
- c语言编程雅可比解方程,求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序!...
问题标题 求雅可比迭代法解方程组的C\C++程序,急需一个运用雅可比迭代法求线性方程组的C/C++程序! 2019-7-8来自ip:14.137.150.56的网友咨询 浏览量:218 手机版 问题补 ...
- 超松弛迭代法解线性方程组c语言,超松弛迭代法解线性方程组.doc
PAGE PAGE 2 姓名:___________________________ 设计题目:超松弛迭代法解线性方程组 专业: 摘要 本文是在matlab环境下熟悉的运用计算机编程语言并结合超松弛变 ...
- 验证picard迭代c语言,用Picard迭代法解约束绳索动点坐标的数学说明
用Picard迭代法解约束绳索动点坐标的数学说明 Picard迭代法可解工程吊装使用的各种约束绳索动点坐标Xi,Yi.本文结合这一领域中的实际问 (本文共10页) 阅读全文>> The p ...
- c语言jacobi迭代法,迭代法解方程:牛顿迭代法、Jacobi迭代法
利用迭代算法处理问题,需要做好以下三个方面的工做: 一.确定迭代变量.在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量. 二.建立迭代关系式.所谓 ...
- 迭代法解方程:牛顿迭代法、Jacobi迭代法
牛顿迭代公式 设已知方程f(x)=0的近似根x0 ,则在x0附近f(x)可用一阶泰勒多项式 近似代替.因此, 方程f(x)=0可近似地表示为p(x)=0.用x1表示p(x)=0的根,它与f(x)=0的 ...
- Bailian2697 迭代法解方程【二分+迭代】
2697:迭代法解方程 总时间限制: 2000ms 内存限制: 65536kB 描述 对函数y = f(x) = xxx + x + a(其中a大于0).要直接求y=0时x的取值并不容易,但因为y是单 ...
最新文章
- python教程:ConfigParser模块使用教程
- webrtc简单案例——音视频采集和播放
- Linux中的cron计划任务配置详解
- [mybatis]缓存_一级缓存_一级缓存失效的四种情况
- redis之事务主从复制
- RESTful登录设计(基于Spring及Redis的Token鉴权)
- Java单元测试-覆盖率分析报告自动生成
- java a的2次方_java-获取比a大,最接近a的2的次方的数(最小二次幂,位运算)
- 硬盘运行与“AHCI 模式”还是“IDE 模式”
- 时间校准(全网最全最准确方案)完美无解
- json数组排序,深拷贝,浅拷贝,删除,增加,筛选,
- 新人爬虫学习_爬取腾讯招聘信息
- 英汉互译 php,美丽的英文诗(英汉互译)
- excel怎么设置自动计算_Excel财务表格大全!公式已设置好,数据自动计算产生...
- 设计模式之六个创建型模式的相关知识,简单易懂。
- 学科实践活动感悟50字_社会实践心得体会50字
- ALEXA站长全攻略(转)
- 7.10网站数据统计
- Mysql高性能优化笔记(含578页笔记PDF文档),收藏了
- c++小游戏[2.0.1测试版本]和[2.2版本]