



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数值算法之列主元消元法 下面的代码直接复制就可以用,代码都做了解释,比较容易看懂。方便学数值算法的同学。供大家交流。#include#include#include#include #include /包含输出格式设置的头文件typedef double array45;double answer4; /answer4代表借的数组;/*void Init_array(array a) /数组的初始化并赋值;int i,j; /i数组的代表行,j代表数组的列;for (i=0;i4;i+)for (j=0;j5;j+)cout请输入数组的第i+1行,第j+1列的值:aij;/改进的Init_array(array a)函数void Init_array(array a)int i,j;cout请输入数组:endl;for(i=0;i4;i+)for(j=0;j5;j+)coutaijaij;coutendl;*/void cout_array(array a) /输出数组的函数,无返回值;int i,j;for(i=0;i4;i+)for (j=0;j5;j+)coutsetw(15)aij; /setw(6)设定输出的每个数组占6位,包含在iomainip头文件中coutendl;int maxelem(array a,int k) /a代表数组a,k代表第k次选组员;函数的返回值是int类型的值,代表最大组员所在的行;double i; /i用来传参int j,m; /j用来返回最大数组所在的列;k-; /使k值与数组对应起来,方便下面操作;i=akk;m=k;j=k+1;for(;kakm) j=k+2; return j;void swapline(array a,int k,int l) /a代表数组a,k代表第k次选组员,l代表最大组员所在的行;函数用来交换组,无返回值;double m; /m用来传参k-; /方便后面的使用l-;for(int j=0;j5;j+)m=akj;akj=alj;alj=m;void cancellist(array a,int k) /a代表数组a,k代表第k次选组员,函数用来消元,把数组转换成上三角,无返回值;double m; /m代表消组员时的乘数;int j;j=k; /让k的值赋给j;因为k的值和含义后面会变,而后面要用到k的初值;for(;k4;k+) if(aj-1j-1!=0) m=akj-1/aj-1j-1; /计算消元时乘的乘数; cout第k次消元的乘数为mendl; for(int i=j-1;i5;i+) /k代表行,i代表列; aki=aki-aj-1i*m; /if(a321e-16) /couta32endl; / 第三次求得的a32是一个小于10的-16次方的小数; /else cout无法进行列主元求解endl; exit(0);void main()array a;array b;int i,j; /验证精度用的double m(0),n(0); /精度验证/Init_array(a); /用改进的方法初始化任意数组/为数组赋值;a00=1 ,a01=-1,a02= 1,a03=-4,a04= 2, a10=5 ,a11=-4,a12= 3,a13=12,a14= 4, a20=2 ,a21= 1,a22= 1,a23=11,a24= 3, a30=2 ,a31=-1,a32= 7,a33=-1,a34= 0; for( i=0;i4;i+)for( j=0;j5;j+) bij=aij;/*a00=5 ,a01=1,a02=1 ,a03=1,a04=8 ,a10=6 ,a11=1,a12=1 ,a13=1,a14=9 ,a20=7 ,a21=1,a22=1 ,a23=1,a24=10 ,a30=8 ,a31=1,a32=1 ,a33=1,a34=11 ; */ /用来测试能不能满足算法要求的一组数据cout_array(a);cout最大组员所在的行:maxelem(a,1)endl;swapline(a,1,maxelem(a,1);cout第一次换行后的数组:endl;cout_array(a);cancellist(a,1);cout第一次消元后的数组:endl;cout_array(a);cout最大组员所在的行:maxelem(a,2)endl;swapline(a,2,maxelem(a,2);cout第二次换行后的数组:endl;cout_array(a);cancellist(a,2);cout第二次消元后的数组:endl;cout_array(a);cout最大组员所在的行:maxelem(a,3)endl;swapline(a,3,maxelem(a,3);cout第三次换行后的数组:endl;cout_array(a);cancellist(a,3);cout第三次消元后的数组:endl;cout_array(a);/人工手代反求解降低算法的重复度answer3=a34/a33;answer2=(a24-a23*answer3)/a22;answer1=(a14-a13*answer3-a12*answer2)/a11;answer0=(a04-a03*answer3-a02*answer2-a01*answer1)/a00;cout则解得方程的解为:endl;for( i=0;i4;i+)coutsetw(15)answeri;coutendl;/ 验证精度for(i=0;i4;i+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年科技咨询行业科技咨询服务市场前景研究报告
- 2025年花卉行业花卉养护技术应用前景报告
- 2025年智能农业行业技术创新与市场前景研究报告
- 商场商品安全知识培训课件
- 2025年生物科技行业生物医药领域新药研发前景预测报告
- 2025年人脸识别行业人脸识别技术应用前景研究报告
- 山西省2025山西吕梁离石区博士研究生引进(第二批)笔试历年参考题库附带答案详解
- 宿迁市2025江苏宿迁市市场监督管理局局属事业单位招聘工作人员3人笔试历年参考题库附带答案详解
- 孝义市2025山西吕梁市孝义市招聘文旅专业人才笔试历年参考题库附带答案详解
- 垫江县2025第二季度重庆市垫江县事业单位招聘63人笔试历年参考题库附带答案详解
- 事业单位行测题目及答案
- 喷漆技师基础知识培训课件
- 2025法考客观题库及答案
- 高校物业考核管理办法
- 2025年党员党的基本理论应知应会知识100题及答案
- c1满分考试题型及答案
- 【公开课】+地球的运动-地球的公转+课件-2024-2025学年七年级地理上学期人教版
- 绿化工程采购管理制度
- 国家保密培训课件
- 2025至2030中国快递行业发展现状及发展趋势与投资风险分析
- 关于医院“十五五”发展规划(2026-2030)
评论
0/150
提交评论