已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院 高斯消元法解方程课程设计报告学号2016-2017学年 第2学期1608220203高级语言程序设计课程设计报告题目:高斯消元法解方程专业:网络工程(对口)班级:16网工(3)姓名:代应豪指导教师:成绩:计算机学院2017 年 4月 25 日目 录一 设计内容及要求11.设计内容22.设计要求3二 概要设计3三 设计过程或程序代码8四 设计结果与分析12五 参考文献141 设计内容及要求1.1 设计内容:高斯消去法的解题思路:反代来求得所要的答案.矩阵的基本列运算规则为:(1)任一列均可乘以一非零的常数;(2)将任一列乘以一常数后加到其他列;(3)可任意对调任两列。第1步消元在增广矩阵(A,b)第一列中找到绝对值最大的元素,将其所在行与第一行交换,再对(A,b)做初等行变换使原方程组转化为如下形式:第2步消元在增广矩阵(A,b)中的第二列中(从第二行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:第3步消元在增广矩阵(A,b)中的第三列中(从第三行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A,b)做初等行变换使原方程组转化为:按x4 x3 x2 x1 的顺序回代求解出方程组的解 按照解题的思路,整个程序大概由以下几个部分组成:输入方程组;判断用户输入的维数是否大于自定义10的维数 ;输入各行未知项的系数;开始反代;开始计算;退出程序。除了以上主要部分外,程序还用到了if和for选择语句,对程序的进一步简化起到重要作用,使源程序显的更加简洁明了。1.2 要求:输入是N(N10)元线性方程组Ax=B,输出是方程组的解,也可能无解或有多组解。2 概要设计总体流程图反代的函数流程图核心技术的实现方法及程序段源程序主要由三个函数和一个主函数组成,其中主函 数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数中交换行的距函数、比较系数大小的函数和实现菜单选择的函数是程序中较为核心的部分,下面分别进行说明:1、此模块改变矩阵行的顺序,具体程序段如下:for(j=1;j=n-1;j+)for(i=j+1;i=n;i+)temp=aij/ajj;for(k=1;k=1;j-)xj=bj;for(k=n;k=j+1;k-)xj=xj-xk*ajk;xj=xj/ajj;1) 简化矩阵:如何利用高斯消元的方法将方程组的系数矩阵,简化为上三角阵的方法。如图:这部分的难点主要是寻找消元的通项公式 我们把第k行分别乘上某一系数,加到它以下的各行中使得与第k行同列的数据化为0,反复向下循环,即可得到最终的上三角阵。其具体运算公式是: aij=aij-aij*akj/akk 下面是一种典型的错误编写: for(int k=0;kn-1;k+) for(int i=k+1;in;i+) for(j=k;jn;j+) aij=aij-aik*akj/akk; 这样写出公式,直接利用循环内套循环,再套循环是不对的,因为循环内层 要用到最外层的变量,直接用,是不可以的,所以要借助参量c来完成。 下面是正确的编写:for(int k=0;kn-1;k+)for(int i=k+1;in;i+) c=aik/akk; for(j=k;jn;j+) aij=aij- c*akj; 2) 回代: 这部分的主要工作依然是寻找运算的规律,总结归纳出求解的一般公式。xk=(bk- xi*aki)/akk; 其中 xi*aki 依然需要我们借助一个for循环来完成. 3)计算中断:要考虑在消去过程中,以及在消去完毕后出现的计算中断的情况,这时我们要给与及时提示,指出方程组没有唯一解,中断解的输出。给予下面程序必要的终止运行。 即系数矩阵为奇异的:消元过程中发现没有找到零主元素,计算中断。 消元过程能够进行到底,但最终得到的主对角线元为零(an-1n-1=0)3 设计过程或程序代码#include#include#include#define dim 10/定义最大的维数10,为防止计算值溢出double adim+1dim+1,bdim+1,xdim+1;/定义双精度数组int main()int n,i,j,k;double temp;printf(请输入方程的元数(行数):);scanf(%d,&n);printf(n);if(ndim)/判断用户输入的维数是否大于自定义10的维数 printf(错误:元数超过初设定的最大元数%dn,dim);exit(0);printf(*以下开始输入各行未知项的系数*n);printf(n);for(i=1;i=n;+i)for(j=1;j=n;+j)printf(请输入第%d元(第%d行)第%d个未知数的系数:,i,i,j);scanf(%lf,&aij);printf(请输入第%d元(第%d行)的结果:,i,i);scanf(%lf,&bi);printf(n);for(j=1;j=n-1;j+)for(i=j+1;i=n;i+)temp=aij/ajj;for(k=1;k=1;j-)xj=bj;for(k=n;k=j+1;k-)xj=xj-xk*ajk;xj=xj/ajj;for(j=1;j=n;j+) printf(第%d个未知数的解:%10.5en,j,xj);4 设计结果与分析 根据输入的数据判断某一特定的线性方程组是否存在唯一解,如果没有,输出提示;如果存在有唯一解,按顺序输出各个解。 1)编制的程序能完成的功能 求解二元、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剧装工规章模拟考核试卷含答案
- 炼厂气加工工岗位安全宣贯考核试卷含答案
- 皮带工安全生产意识知识考核试卷含答案
- 粪便清运工操作管理能力考核试卷含答案
- 喷涂喷焊工岗前实践水平考核试卷含答案
- 光纤检测员创新实践竞赛考核试卷含答案
- 考研物理试题及答案大全
- 村级干部培训考试试题及答案
- 金属学考试题及答案
- 2025-2026学年世界名建筑教案
- 通信汛期安全生产课件
- 《肺叶手术的麻醉》课件
- 一元一次方程和分式方程复习教案 人教版
- 脚手架拆除方案报审
- 2024外贸佣金合同中英文版
- 钻孔灌注桩桩头质量缺陷处理方案样本
- 法院送达地址确认书(诉讼类范本)
- TDTG5024斗式提升机机座及总体部分设计
- 3%水泥土试验段施工方案
- GB/T 36174-2018金属和合金的腐蚀固溶热处理铝合金的耐晶间腐蚀性的测定
- 第二章常用低压电器基本原理课件
评论
0/150
提交评论