计算方法与实习上机题答案.docx

上传人:h**** 文档编号:171335 上传时间:2018-07-13 格式:DOCX 页数:29 大小:1.08MB
下载 相关 举报
计算方法与实习上机题答案.docx_第1页
第1页 / 共29页
计算方法与实习上机题答案.docx_第2页
第2页 / 共29页
计算方法与实习上机题答案.docx_第3页
第3页 / 共29页
计算方法与实习上机题答案.docx_第4页
第4页 / 共29页
计算方法与实习上机题答案.docx_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 实习题 1 1 用两种不容的顺序计算 644834.1100012 n n,分析误差的变化 ( 1)顺序计算 源代码: #include #include void main() double sum=0; int n=1; while(1) sum=sum+(1/pow(n,2); if(n%1000=0)printf(“sun%d=%-30f“,n,sum); if(n=10000)break; n+; printf(“sum%d=%fn“,n,sum); 结果: ( 2)逆序计算 源代码: #include #include void main() double sum=0; int

2、n=10000; while(1) sum=sum+(1/pow(n,2); if(n%1000=0) printf(“sum%d=%-30f“,n,sum); if(n #include void main() int i=0,n; float a1024,b1024,d1024; printf(“please input n,n=“); scanf(“%d“, printf(“nplease input a1 to an:n“); for(i=1;i=0;i-) di=bi+ai+1/di+1; printf(“nf=%fn“,d0); 结果: 3 给出一个有效的算法和一个无效的算法 计算

3、积分 10 )10,.1,0(14 ndxxxynn源代码: #include #include main() double y_0=(1/4.0)*log(5),y_1; double y_2=(1.0/55.0+1.0/11.0)/2,y_3; int n=1,m=10; printf(“有效算法输出结果: n“); printf(“y0=%-20f“,y_0); while(1) y_1=1.0/(4*n)+y_0/(-4.0); printf(“y%d=%-20f“,n,y_1); if(n=10) break; y_0=y_1; n+; if(n%3=0) printf(“n“);

4、printf(“n 无效算法的输出结果: n“); printf(“y10=%-20f“,y_2); while(1) y_3=1.0/n-4.0*y_2; printf(“y%d=%-20f“,m-1,y_3); if(m main() int N; double SN30000; SN30000=(3.0/2.0-1.0/30000.0-1/30001.0)/2.0; for(N=30000;N=2;N-) SNN-1=SNN-1.0/(N*N-1); printf(“ 从大到小顺序计算: nSN1000=%fnSN10000=%fnSN30000=%fn“,SN1000,SN10000,

5、SN30000); SN2=(3.0/2-1.0/2.0-1/3.0)/2.0; for(N=3;N #include typedef float (*p)(float ); float ff1(float x) return x*x-exp(x); float ff2(float x) return x*exp(x)-1; float ff3(float x) return log(x)+x-2; float answer(float(*p)(float) int k=2; float m=1,n=-1,x2,a,b,c; if (p=ff3)n=2; printf(“x0 = %.4f,

6、x1 = %.4f, “,m,n); while (1) if (fabs(m-n) #include float gexian(float,float); float f(float); main() int i,j; float x1=2.2; float x2=2,x3; scanf(“%d“, if(i=1) printf(“%f“,x1); else if(i=2) printf(“%f“,x2); else for(j=3;j #include void ColPivot(float*,int,float); void ColPivot(float*c,int n,float x)

7、 int i,j,t,k; float p; for(i=0;i(fabs(*(c+k*(n+1)+i) k=j; if(k!=i) for(j=i;j=0;i-) for(j=n-1;j=i+1;j-) (*(c+i*(n+1)+n)-=xj*(*(c+i*(n+1)+j); xi=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i); void main() int i; float x4; float c45=1,1,0,3,4,2,1,-1,1,1,3,-1,-1,3,-3,-1,2,3,-1,4; ColPivot(c0,4,x); for(i=0;i void main()

8、 float x4; int i; float a45=48,-24,0,-12,4,-24,24,12,12,4,0,6,20,2,-2,-6,6,2,16,-2; void DirectLU(float*,int,float); DirectLU(a0,4,x); for(i=0;i=3;i+) printf(“x%d=%fn“,i,xi); void DirectLU(float*u,int n,float x) int i,r,k; for(r=0;r=n-1;r+) for(i=r;r=n;i+) for(k=0;k=r-1;k+) *(u+r*(n+1)+i)-=*(u+r*(n+1)+k)*(*(u+k*(n+1)+i); for(i=r+1;i=n-1;i+) for(k=0;k=r-1;k+) *(u+i*(n+1)+r)-=*(u+i*(n+1)+k)*(*(u+k*(n+1)+r); *(u+i*(n+1)+r)/=*(u+r*(n+1)+r);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 复习参考

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。