1 / 75
文档名称:

计算方法实验报告.doc

格式:doc   大小:612KB   页数:75页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算方法实验报告.doc

上传人:夜紫儿 2024/3/26 文件大小:612 KB

下载得到文件列表

计算方法实验报告.doc

相关文档

文档介绍

文档介绍:该【计算方法实验报告 】是由【夜紫儿】上传分享,文档一共【75】页,该文档可以免费在线阅读,需要了解更多关于【计算方法实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。计算方法实验报告班级:学号:姓名:成绩:1舍入误差及稳定性一、实验目的(1)通过上机编程,复****巩固以前所学程序设计语言及上机操作指令;(2)通过上机计算,了解舍入误差所引起的数值不稳定性二、实验内容10000,21、用两种不同的顺序计算,分析其误差的变化,nn1,a1fb,,2、已知连分数,利用下面的算法计算:f0//(.../)babaab,,,,,nn1223ai,1(1,2,...,0)inn,,,fd,,,,,dbdb0nniidi,1写一程序,读入计算并打印fnbbbaa,,,...,,,...,,011nn3、给出一个有效的算法和一个无效的算法计算积分n1xydx,(0,1,...,10)n,n,041x,N11311,,S,4、设,已知其精确值为,,,N,,2j,1221NN,,,,2j(1)编制按从大到小的顺序计算S的程序NS(2)编制按从小到大的顺序计算的程序NSSS,,,(3)按两种顺序分别计算并指出有效位数10001000030000三、实验步骤、程序设计、实验结果及分析100002,,n1、用两种不同的顺序计算,分析其误差的变化n,1(1)实验步骤:分别从1~10000和从10000~1两种顺序进行计算,(2)程序设计:#include<>#include<>voidmain(){floatn=;inti;floatm=;intj;for(i=1;i<=10000;i++)//顺序计算{n=n+/(i*i);}printf("%-100f",n);printf("\n");for(j=10000;j>=1;j--)//逆序计算{m=m+/(j*j);}printf("%-7f",m);printf("\n");}(3)实验结果:程序运行结果:a1fb,,f2、已知连分数,计算:0//(.../)babaab,,,,,nn1223(1)实验步骤:ai,1(1,2,...,0)inn,,,ffd,,,,,利用,,计算dbdb0nniidi,1(2)程序设计#include<>voidmain(){floatf,b[100],a[100],d[100];inti,n;printf("n=");scanf("%d",&n);for(i=0;i<n;i++){printf("b[%d]=",i);scanf("%f",&b[i]);printf("a[%d]=",i);scanf("%f",&a[i]);}for(i=n-1;i>=0;i--){d[n]=b[n];d[i]=b[i]+a[i+1]/d[i+1];f=d[0];}printf("%f",f);}(3)实验结果程序运行结果:3、给出一个有效的算法和一个无效的算法计算积分n1xydx,(0,1,...,10)n,n,041x,(1)实验步骤利用C语言编写程序,分别使用数值稳定的和数值不稳定的计算公式所建立的递推公式进行计算。(2)程序设计%无效的算法%#include<>#include<>voidmain(){doubley_0=(1/11+1/55)/2,y_1;intn=10;printf("y[10]=%-20f",y_0);while(1){y_1=4/n-16*y_0;printf("y[%d]=%-20f",n-1,y_1);if(n<=1)printf("\n");y_0=y_1;n--;if(n%3==0)printf("\n");}}程序运行结果:%有效的算法%#include<>#include<>voidmain(){doubley_0=log(5),y_1;intn=1;printf("y[0]=%-20f",y_0);while(1){y_1=(1/4)*(1/n-(1/4)*y_0);printf("y[%d]=%-20f",n,y_1);if(n>=10)break;y_0=y_1;n++;if(n%2==0)printf("\n");}getch();}程序运行结果:N11311,,4、设,已知其精确值为S,,,,N,,2j,1221NN,,,,2j(1)实验步骤先编程按从大到小的顺序计算的程序,再编程按从小到大的顺序计算的程序,SSNN然后按两种顺序分别计算。SSS,,10001000030000(2)#include<>#include<>#include<iostream>usingnamespacestd;voidmain(){floatn=;inti;intN;cout<<"pleaseinputN"<<endl;cin>>N;for(i=N;i>1;i--){n=n+/(i*i-1);N=N-1;}printf("%-100f",n);printf("\n");}程序运行结果:N=20时N=5时N=#include<>#include<>#include<iostream>usingnamespacestd;voidmain(){floatn=;inti;intN;cout<<"pleaseinputN"<<endl;cin>>N;for(i=2;i<=N;i++){n=n+/(i*i-1);}printf("%-100f",n);printf("\n");}程序运行结果:N=20时N=5时N=1530时(3)?用从小到大的C语言算法计算S1000,S10000,S30000,结果如下:N=1000时:N=10000时: