数值分析上机报告c精选

上传人:繁星 文档编号:33856849 上传时间:2018-02-18 格式:DOC 页数:16 大小:50KB
返回 下载 相关 举报
数值分析上机报告c精选 _第1页
第1页 / 共16页
数值分析上机报告c精选 _第2页
第2页 / 共16页
数值分析上机报告c精选 _第3页
第3页 / 共16页
数值分析上机报告c精选 _第4页
第4页 / 共16页
数值分析上机报告c精选 _第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数值分析上机报告c精选 》由会员分享,可在线阅读,更多相关《数值分析上机报告c精选 (16页珍藏版)》请在金锄头文库上搜索。

1、精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 1 / 17数值分析上机报告 c实验 3 数值积分实验目的通过本实验理解数值积分与微分的基本原理。掌握数值积分中常见的复合求积公式的编程实现。掌握龙贝格算法的基本思路和迭代步骤; 培养编程与上机调试能力。算法描述龙贝格算法基本思路 先算出他 T0,从而计算 T0以此类推,在判断| Tn- Tn-1| 龙贝格算法计算步骤步骤 1:输入区间端点 a,b,精度控制值 e,循环次数M,定义函数f,取 n?1,h?b?a;R1,1?h?f?f?/2步骤 2:for k?2 to M?Rk,1?Rk?for2k?2?h?k1,1精品文

2、档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 2 / 17?to1i?11?f?a?2?i?k?k?h/2?j2if?Rk,j?RR?k1k,?j1?Re?k,?Rj1?k1,j1?/?4j?1?1?R?k,k精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 3 / 17,?k1?退出循环步骤 3:数据积分近似值 Rk,k。 利用 Romberg 方法计算函数 I?10sinxxdx实验内容用龙贝格算法计算:I?10?sinxx实验步骤代码 #include#include#define e double f double y; if return y

3、=; else y=sin/x; return y;精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 4 / 17void romberg int n=1,k=0;double h,T2,S2=0,C2=0,R2=0,T1,C1,S1,R1; h=/2;T2=h*+f);while )e) R1=R2; T1=T2; S1=S2; C1=C2;double sum=0; int i;for sum=sum+f*h); T2=T1/2+sum*h; S2=/3; C2=/15; R2=/63; n=n*2; k+;h=h/2; cout void main double a

4、,b;coutab;cout cout cout 实验结果实验体会*精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 5 / 17*数值分析上机报告姓名: 学号: 专业:2013 年 10 月 27 日第一章舍入误差与有效数 设 SN?j?2N311?。 ,其精确值为 1?j?12?2NN?1?21111,计算 SN 的通用程序。 ?2222?13?1N?111,计算 S 的通用程序。 编制按从小到大的顺序SN?1?NN2?12?122?1编制按从大到小的顺序 SN?按两种顺序分别计算 S102,S104,S106,并指出有效位数。 通过本上机题,你明白了什么?解: 、题

5、程序见电子版按从大到小顺序: 按从小到大顺序:精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 6 / 17S102= 有效位数 6 位 S104= 有效位数 3 位 S106= 有效位数 3 位 S102= 有效位数 5 位 S104= 有效位数 6 位 S106= 有效位数 6 位通过上述实验数据可以看出此次算法使用从小到大的顺序进行得到的数据相对而言更精确,可以得到这样的启示:在计算数值时,要先分析不同算法对结果的影响,避免大数吃小数的现象,找出能得到更精确的结果的算法。第二章Newton 迭代法给定初值 x0 及容许误差?,编制 Newton 法解方程 f?0根的

6、通用程序。3给定方程 f?x/3?x?0,易知其有三个根 x1?,x2?0,x3?1由 Newton 方法的局部收敛性可知存在?0,当 x0?时,Newton 迭代序列收敛于根 x2。试确定尽可能大的?。?2试取若干初始值,观察当 x0?, , , ,时 Newton 序列精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 7 / 17是否收敛以及收敛于哪一个根。 通过本上机题,你明白了什么? 解:1 取 esp=,即步长为时,由程序算出?max=。所以当*。x0?时,迭代序列收敛于根 x2*?由上表可以看出, x0 在内收敛于 x1,在内收敛于x2,在内收敛于 x3,但在

7、内和均可能收敛于 x1 和 x3。在用迭代法进行计算的时候,初值的选择很关键,所选择的初值必须在一定的范围内,如果超出这个范围,将得不出正确的结果。?*?第三章39.列主元三角分解法对于某电路的分析,归结为求解线性方程组 RI=V, 编制解 n 阶线性方程组 Ax=b 的列主元三角分解法的通用程序;用所编制的程序解线性方程组 RI=V,并打印出解向量,保留五位有效数; 本编程之中,你提高了哪些编程能力? 解:见电子版 方程的解为:精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 8 / 17x1= -,x2= ,x3= -,x4= -,x5= -,x6= , x7= -,

8、x8= ,x9= 。在此次编程过程中,用到了多次 for 循环结构,有多层嵌套,程序较为复杂。此外在解方程组过程中,数组起了很大的作用,可以更加方面的写出程序。我提高了分步解决问题的能力,并且更加熟悉循环语句的运用,40逐次超松弛迭代法编制解 n 阶线性方程组 Ax=b 的 SOR 方法的通用程序;对于 39 题中所给的线性方程组,取松弛因子?i?i/50,容许误差?10?5,打印松弛因子、迭代次数、最佳松弛因子及解向量。解: 迭代次数 迭代次数 迭代次数 迭代次数 1291 55 19 24 700 53 18 25 486 51 17 27 373 48 16 30 303 46 15 3

9、1 255 44 15 34 221 42 14 36 194 41 12 39 173 39 10 44 156 37 11 49 142 36 12 55 130 34 12 60 120 33 13 71 111 32 13 81 103 30 14 97 96 29 15 121 90 28 15 157 85 27 16 228 80 26 17 398 75 25 18 1582 71 24 19 5427 精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 9 / 1768 23 19 2178 64 22 20 1374 61 21 21 1009 58 2

10、0 22从上表可以看出,最佳松弛因子为 =,迭代次数为 10次,方程的解为: x1= -,x2= ,x3= -, x4= -,x5= -,x6= , x7= -,x8= ,x9= 。12数值分析上机题姓名:陈作添 学号:040816习题 120舍入误差与有效数 设 SN?j?2N1?311?。 ,其精确值为?j2?12?2NN?1?1111,计算 SN 的通用程序。 ?22?132?1N2?111,计算 S 的通用程序。 编制按从小到大的顺序SN?1?NN2?12?122?1 编制按从大到小的顺序 SN?按两种顺序分别计算 S102,S104,S106,并指出有效位数。精品文档2016 全新精

11、品资料-全新公文范文 -全程指导写作 独家原创 10 / 17的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。习题 220Newton 迭代法给定初值 x0 及容许误差?,编制 Newton 法解方程 f?0根的通用程序。?给定方程 f?x3/3?x?0,易知其有三个根 x1?0,x3?,x2?1由 Newton 方法的局部收敛性可知存在?0,当 x0?时,Newton 迭代

12、序?列收敛于根 x2。试确定尽可能大的?。2试取若干初始值,观察当 x0?, , , ,时 Newton 序列是否收敛以及收敛于哪一个根。 通过本上机题,你明白了什么? 解:编制的通用程序: #include #include#define eps /给定容许误差 float f /定义函数 f float f; f=x*x*x/3-x; /f 的表达式; return; float df /定义函数 df,计算 f 的导函数 float 精品文档2016 全新精品资料-全新公文范文 -全程指导写作 独家原创 11 / 17df; df=x*x-1; /f 导函数的表达式; return ;

13、void main float x0,x1,a; int k=0;coutx0; do a=-f/df; x1=x0+a; k+; x0=x1; whileeps); cout /输出迭代的次数和根值?计算迭代序列收敛于根 x2 的尽可能大的?的函数为:#include #includevoid delay /定义延时函数 for; #define eps float f /定义函数 f float f; f=x*x*x/3-x; /f的表达式; return;float df /定义函数 df,计算 f 的导函数 float df; df=x*x-1; /f 导函数的表达式; return ; int judgement return 0; int count=5; void main float x0,x1,type,type1; x0=z; float delta=0; while int flag=1; while x1=x0-f/df; type=fabs;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号