下载此文档

《数值分析》课程设计.doc


文档分类:高等教育 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
#include<>#include<>#defineN10doublea[N][N],b[N],X[N],Y[N],u[N][N],v[N][N],c[N][N];intn;voidinput(){ inti,j; printf("请输入矩阵的阶数n=");scanf("%d",&n); printf("请输入矩阵的各项元素(按矩阵形式输入以空格隔开)a[n][n]:\n"); for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%lf",&a[i][j]);printf("请输入矩阵的常数列:\n"); for(i=0;i<n;i++)scanf("%lf",&b[i]);}voidsolveUandV(){inti,j,k; doubletemp1,temp2; for(i=n-1;i>=0;i--) {for(j=i;j>=0;j--) { temp1=0; for(k=i+1;k<n;k++) { temp1+=u[j][k]*v[k][i]; } u[j][i]=a[j][i]-temp1; temp2=0; for(k=i+1;k<N;k++) { temp2+=u[i][k]*v[k][j]; } v[i][j]=(a[i][j]-temp2)/u[i][i]; } } printf("上三角u为:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%lf\t",u[i][j]); printf("\n"); } printf("下三角单位矩阵v为:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%lf\t",v[i][j]); printf("\n"); }}voidsubstituting(){ inti,j; doubletemp1,temp2; printf("中间解Y=\n"); for(i=n-1;i>=0;i--) { temp1=0; for(j=i+1;j<n;j++)temp1+=Y[j]*u[i][j]; Y[i]=(b[i]-temp1)/u[i][i]; printf("%lf\t\t",Y[i]); } printf("\n");for(i=0;i<n;i++) { temp2=0; for(j=0;j<i;j++) { temp2+=X[j]*v[i][j]; } X[i]=Y[i]-temp2; }}voidverification(){ inti,j,k; doublet; for(i=0;i<n;i++) { for(j=0;j<n;j++) { t=0; for(k=0;k<n;k++) t+=u[i][k]*v[k][j]; c[i][j]=t; } } printf("原系数矩阵为:\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%lf\t",c[i][j]); printf("\n"); }}voidoutput(){ inti; printf("方程的解为:\n"); for(i=0;i<n;i++) printf("x[%d]=%lf\n",i,X[i]);}voidmain(){ input(); solveUandV(); substituting(); verification(); output();}结果: #include"" #include"" # doublef(doublex) { doubley; if(x==0) { returny=; } elsey=sin(x)/x; returny; } voidromberg(doublea,doubleb) { intn=1,k=0; doubleh,T2,S2=0,C2=0,R2=0,T1,C1,S1,R1; h=(b-a)/2; T2=h*(f(a)+f(b)); while(fabs((R2-R1))>e) { R1=R2; T1=T2; S1=S2; C1=C2; doublesum=0; inti; for(i=1;i<=n;i++) { sum=sum+f(a+(2*i-1)*h); } T2=T1/2+sum*h; S2=(4*T2-T1)/3; C2=(16*S2-S1)/15; R2=(64*C2-C1)/63; n=n*2; k++; h=h/2; } cout<<"*****最后结果为:"<<"I="<<R2<<endl; } voidmain() { doublea,b; cout<<"

《数值分析》课程设计 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fy3986758
  • 文件大小120 KB
  • 时间2019-05-19