东南大学C程序课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++程序课程设计 迭代法求解线性方程(A级) 姓名: 学号: 指导老师: 提交日期: 目录 TOC \o 1-5 \h \z HYPERLINK \l bookmark22 \o Current Document \h 程序设计原理与功能简介 2 HYPERLINK \l bookmark52 \o Current Document \h 课程设计要求 5 HYPERLINK \l bookmark54 \o Current Document \h 源程序分析 7 HYPERLINK \l bookmark56 \o Current Document \h 新程序设计思路 10 HYPERLINK \l bookmark58 \o Current Document \h 新增模块源代码与功能介绍 11 程序设计中遇到的问题与解决方法14程序运行测试结果与分析16程序缺陷与大致优化思路20设计心得与个人体会20 程序设计中遇到的问题与解决方法 14 程序运行测试结果与分析 16 程序缺陷与大致优化思路 20 设计心得与个人体会 20 一.程序设计原理与功能简介 迭代法是线性方程的一种常用解法,首先选取适当的初值,然后用同样的计算步骤重复 计算,在满足精度的情况下,停止迭代,求得近似解。 ★迭代法简介: 也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法 (或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法 和“牛顿迭代法属于近似迭代法。迭代算法是用计算机解决问题的一种基本方法。它利用计 算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复 执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推岀它的一个新值。最常见 的迭代法是牛顿法。其他还包括最速下降法、共轨迭代法、变尺度迭代法、最小二乘法、线 性规划、非线性规划、单纯型法、惩罚函数法、斜率投影法、遗传算法、模拟退火等等。 本程序所用的主要为赛德尔迭代法和简单迭代法,分别进行求解,然后将求解的结果 参数列出进行比较。还可以选择不同的松弛因子进行算法上的比较。其屮新增的部分主要是 文本的输入与输出,仿照源程序编写简单迭代法的部分。 ★赛德尔迭代法: 设有线性方程: % \X\ + a\2X2 + 人 + a\nXn = W a2lx{ + a22x2 + A + a2nxn = b2 aniXl + an2X2 + ^annXn=bn 首先将系数矩阵变换成:无-仏 + /形式。 设上述线性方程组写成: 山 =: (1) 系数矩阵A可逆且主对角元素仏皿22,…,盒均不为零冷 D = diag(枷) 并将A分解成 4 = (4-D)+D 从而(1)可写成 Dx =(D - A)x + b 令: x = Mx + f 其中 M=I-D~iA, f = D—b 即:L工纭+2 即: j=i 5 au JMl 其中: a21M=。23。22A色3%a a21 M= 。23 。22 A 色3 % a]\ a2n A % 这就是原程序所变换的矩阵。 。22 A 赛德尔迭代法的不同之处在于: 算中去,即用迭代公式: =mnx[k) + mnx^} + mi3x^k) + A + minx(^ + f{ =m2ix[k+i) + m22x^ + 加 23 无;)+ A + m2/zxz(^) + f2 =m^x\k + V} + 加 32 兀 y+ + m33X3k)+ A + m\nXnk)+ 厶 丫 伙+ 1) A1 y(R+1) ?/V 0 J£+l) 儿3 每算出一个分量的近似值,立即用到下一个分量的计 2n 兀 T)=叫用z + 九2 雋D + mfl3x^} +A + mnnx^ + fn g|j: x,u+l) = lLmijx(j+Y} +Ymijxlj+f (i = l,2,A,〃) j=l J=i 选用松弛因子0)代入上述线性方程得到松弛的赛德尔公式: x^+1) = x{k) + 6O(-x^ + mnx^} + 加 13 兀丫)+ A + %兀丫)+ fj 兀$+1)=雋+ 69(—%2 +加21对D +加23兀+A +加2/1兀俨+厶) x^+v)= X3 + 0-局 + m^x\kvV} + 加 32 兀+ A + 叫£)+ 厶) X^+1)= Xn + Q(-丘 + mn\X\k+[)+ mn2X2+[)+ 叫3 兀Y + A + fj G通常在(0,2)内选取,当G1,成为超松弛,当Gvl时,成为亚松弛。 松弛因子的恰当选择,可以大大提高收敛速度,(经查资料,可以证明利用赛德尔法计 算方程,收敛则方程组有解,且收敛充分条件有多个,在此不一一例举),在实际计算中,往

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档