线性代数方程组的通用性迭代解法的程序实现.docx

线性代数方程组的通用性迭代解法的程序实现.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性代数方程组的通用性迭代解法的程序实现

线性代数方程组的通用性迭代解法的程序实现李安志( 成都市 510 信箱 , 成都 610003)摘要 给出利用线性代数方程组的通用性迭代解法求线性代数方程组的一个特解的算法描述及 C 语言实现.关键词 线性代数方程组 ; 特解 ; 收敛性中图法分类号 O214. 5 ; TP3111 概述线性代数方程组的通用性迭代解法与传统的迭代解法相比1 :它的算法更简单 ,收敛速度 更快 ,判断方程是否有解更准确. 其思想描述如下 :(1) 用 (·,·) 表示两向量的内积 ,用 ‖·‖2 表示向量的欧氏范数.定义 1. 1将 n ×m 阶线性代数方程组( 5 i , x)( x ∈Rm , 未知) ,= bi ,‖5 i ‖2 = 1 ,i = 1 , 2 ,, n19 st其中 X0 为迭代初值 , k 为迭代次数 , Xk 为解的 k 次近似值.该算法的正确性证明请参考文献2 .2算法描述2. 1变量说明head :存放长度为 n ×( m + 1) 的连续空间的起始地址 , 该空间用于按行排列存放方程组的增广矩阵. p ,p1 :分别存放两个长度为 n 的连续空间的起始地址 ,该空间分别用3 中国工程物理研究院预研基金资助项目收稿日期 1998 - 05 - 24李安志 男 32 岁 讲师89第 1 期李安志 : 线性代数方程组的通用性迭代解法的程序实现于存放一次迭代前后的近似解. m , n : 分别存放方程组中方程的个数和变量的个数. t : 存放迭代的精度.2. 2调用的过程和函数input ( ) : 输入方程组的增广矩阵存放到以 head 为起始地址的连续 空间中 ,并法式化该方程组. didai () :用迭代法求方程组的根.算法Procedure didai ()begin2. 3输入 m ,n ,t 的值 ;动态分配连续空间 head ,p ,p1 ;input () ; 初始化 p ,p1 ; s - 1 . 0 ;(1)(2) (3) (4) (5)(6) while ( s t)begin/ 3 迭代过程 3 /( Ⅰ) for i = 1 to mbegin(1) p 0 . . n - 1 - p1 0 . . n + 1 ; (2) q = 0 . 0 ;(3) for k = 0 to n - 1q = q + head (i - 1) 3 ( n + 1) + k(4) for k = 0 to n - 13 p k ;p1 k = p k +( head i 3 ( n + 1) - 1 - q) 3 head ( i - 1) 3 ( n + 1) +k ;end.( Ⅱ) s = (p1 0 . . n - 1 - p 0 . . n - 1 ( Ⅲ) s = sqrt ( s) ;end) ×(p1 0 . . n - 1 - p 0 . . n - 1) ;(7) for i = 1 to m / 3 判断 p1 是否为方程的根 3 /begin(i) p 0 . . n - 1 - p1 0 . . n - 1 ; (ii) q = 0 . 0 ;(iii) for k = 0 to n - 1q = q + head (i - 1) 3 ( n + 1) + k 3 p k ; (iv) for ( k = 0 ; k = n - 1 ; k + + )( head i 3 ( n + 1) - 1 - q ) 3 head (i - 1) 3 ( n + 1) + k ;p1 k = p k +×(p1 0 . . n - 1 - p 0 . . n - 1(v) s = (p1 0 . . n - 1 - p 0 . . n - 1(vi) s = sqrt ( s) ;(vii) if ( s t) break ;) ;end(8) if (i m)输出方程的解 p ;else方程无解endp3 程序运行例子有方程组为 :2 x1 + x2 - 5 x3 + x4 = 8 .x1 - 3 x2 - 6 x42 x2 - x3 + 2 x4= 9 ,= - 5 ,( Ⅰx1 + 4 x2 - 7 x3 + 6 x4 = 0.91第 1 期李安志 : 线性代数方程组的通用性迭代解法的程序实现# define L EN sizeof ( double)double 3 head , 3 p ;int m ,n ;void input (){ int k ,b ;double d ;printf “( \ n 请输入方程组中方程的个数 m : ”)scan

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档