数值分析实验报告-列主元高斯消去_第1页
数值分析实验报告-列主元高斯消去_第2页
数值分析实验报告-列主元高斯消去_第3页
数值分析实验报告-列主元高斯消去_第4页
数值分析实验报告-列主元高斯消去_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2、用列主元高斯消去法解线性方程组.=1\*GB2⑴==2\*GB2⑵=分别输出,解向量,(1)中A的条件数。分析比较(1)(2)的计算结果。程序1(列主元高斯消去解线性方程组):#include<stdio.h>#include<math.h>#definen3voidLZYGSXQ(doublea[n][n],doubleb[n]){ doublex[3],L,max,det=1; intr,t,i,j,k; for(k=0;k<n-1;k++)//选组员 { { max=fabs(a[k][k]); r=k; } for(i=k+1;i<n;i++) { if(fabs(a[i][k])>max) r=i; for(t=k;t<n;t++) { L=a[k][t]; a[k][t]=a[r][t]; a[r][t]=L; } L=b[k]; b[k]=b[r]; b[r]=L; det=-det; } for(i=k+1;i<n;i++)//高斯消去 { L=a[i][k]/a[k][k]; for(j=k;j<n;j++){ a[i][j]=a[i][j]-L*a[k][j]; } b[i]=b[i]-L*b[k]; } det=a[k][k]*det; } det=a[k][k]*det; printf("高斯消去后的方程系数\n");//输出高斯消去后的系数矩阵 for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%f",a[i][j]); } printf("%f",b[i]); printf("\n"); } printf("\n"); printf("行列式的值det=%f\n",det); x[n-1]=b[n-1]/a[n-1][n-1]; for(i=n-2;i>=0;i--){//回代求解x for(j=i+1;j<n;j++) b[i]=b[i]-a[i][j]*x[j]; x[i]=b[i]/a[i][i]; } printf("方程的解向量=("); for(i=0;i<=n-1;i++) printf("%f",x[i]); printf(")\n");}voidmain(){ doublea1[3][3]={{3.01,6.03,1.99},{1.27,4.16,-1.23},{0.987,-4.81,9.34}},b1[3]={1,1,1}; doublea2[3][3]={{3.00,6.03,1.99},{1.27,4.16,-1.23},{0.987,-4.81,9.34}},b2[3]={1,1,1}; LZYGSXQ(a1,b1); printf("\n\n\n"); LZYGSXQ(a2,b2);}计算结果:方程组(1)的解向量为,方程组(2)的解向量为。观察两方程组的系数矩阵可知:方程组(2)是由方程组(1)的系数矩阵发生微小变化得到。但此微小变化却引发线性方程组的解的巨大变化,所以方程组(1)为“病态”方程组,对应的系数矩阵为“病态”矩阵。程序2(求矩阵的条件数):#include"stdio.h"#include"math.h"#definen3#definem6voidmain(){ doublea[n][m]={{3.01,6.03,1.99,1,0,0},{1.27,4.16,-1.23,0,1,0},{0.987,-4.81,9.34,0,0,1}},L,t=0,b,limfanshu1,limfanshu2,tiaojianshu; inti,j,k; for(i=0;i<n;i++){//求系数矩阵的无穷范数 b=0.0; for(j=0;j<n;j++) b=b+fabs(a[i][j]); if(b>t) t=b; } limfanshu1=t; for(k=0;k<n-1;k++)//初等行变换求系数矩阵的逆矩阵 { for(i=k+1;i<n;i++) { L=a[i][k]/a[k][k]; for(j=k;j<m;j++) a[i][j]=a[i][j]-L*a[k][j]; } } for(i=0;i<n;i++) { L=a[i][i]; for(j=i;j<m;j++) a[i][j]=a[i][j]/L; } for(k=n-1;k>0;k--) { for(i=0;i<k;i++) { L=a[i][k]; for(j=k;j<m;j++){ a[i][j]=a[i][j]-L*a[k][j]; } } } printf("方程系数矩阵的逆矩阵为\n\n"); for(i=0;i<n;i++) { for(j=3;j<m;j++) { printf("%f",a[i][j]); } printf("\n"); } printf("\n\n"); t=0;//求逆矩阵的无穷范数 for(i=0;i<n;i++){ b=0.0; for(j=3;j<m;j++) b=b+fabs(a[i][j]); if(b>t) t=b; } limfanshu2=t; tiaojian

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论