计算数值方法实验指导书

计算数值方法实验指导书

ID:18538945

大小:78.50 KB

页数:9页

时间:2018-09-19

计算数值方法实验指导书_第1页
计算数值方法实验指导书_第2页
计算数值方法实验指导书_第3页
计算数值方法实验指导书_第4页
计算数值方法实验指导书_第5页
资源描述:

《计算数值方法实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《计算机数值方法B》实验指导书2012-02-208目录目录1一、实验目的2二、实验内容2三、实验要求4四、示例程序4五、实验报告要求8六、参考资料88一、实验目的《数值计算方法》是一门实践性和实用性都很强的课程,学习的目的在于应用已有的理论基础和技术方法,实现对实际计算问题的计算机求解。本实验配合《计算数值方法》课堂教学,通过上机实践实验环节,巩固课堂和书本上所学的知识、加强实践能力、提高解决实际计算问题的水平、启发创新思想。其基本目的是:(1)培养理论联系实际的思路,训练综合运用已经学过的理论和实际知

2、识去分析和解决实际问题的能力。(2)帮助学生全面消化已学的相关课程内容,深刻理解计算数值方法课程的内涵,培养使用电子计算机进行科学计算和解决问题的能力。(3)进行基本技能训练和巩固。使学生得到选择算法、编写程序、分析数值结果、写数值试验报告、课堂讨论等环节的综合训练。二、实验内容本实验指导书共包含6个基本实验,其中实验1——实验4为必做实验,要求学生在8个实验课时内完成,实验5和实验6为选作实验,供学有余力的同学完成。为使实验更为有成效,需要写出实验报告,以此可作为《计算机数值方法B》课程成绩评定的参考。

3、实验1方程求根熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。选择上述方法中的两种方法求方程:f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度

4、x*-xn

5、<0.5×10-5实验2线性方程组的直接解法合理利用Gauss消元法、LU分解法或追赶法求解下列方程组:①8②③④(n=5,10,100,…)实验3线性方程组的迭代解法使用雅可比迭代法或高斯-赛德尔迭代法对下列方程组进行求解。实验4矩阵特征值与特征向量问题使用幂法求A模为最大的特征值及其相应的特征向量。实验

6、5代数插值使用拉格朗日插值法或牛顿插值法求解:已知f(x)在6个点的函数值如下表所示,运用插值方法,求f(0.596)的近似值。x0.400.550.650.800.901.05f(x)0.410750.578150.696750.888111.026521.253868实验6最小二乘法拟合多项式给定数据点(xi,yi),用最小二乘法拟合数据的多项式,并求平方误差。xi00.50.60.70.80.91.0yi11.751.962.192.442.713.00三、实验要求(1)应用结构化程序设计编出通用程

7、序,源程序要有详细的注释和说明;(2)比较计算结果,分析数值解误差的原因;(3)实验完成,要求提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。四、示例程序(1)Gauss消元法#include"stdafx.h"#include"stdio.h"doublea[15][15],a0[15][15];doubleb[15],b0[15],l[15];intn;voiddisplayA(){printf("");for(intj=1;j<=n;j++){for(

8、inti=1;i<=n;i++)printf("a[%d][%d]=%f",j,i,a[j][i]);printf("b[%d]=%f",j,b[j]);}for(j=1;j<=n;j++)printf("l[%d]=%f",j,l[j]);printf("");}voidmain(){8FILE*f;inti,j,k;f=fopen("Gaussdata.txt","r");fscanf(f,"%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++){fscanf(

9、f,"%lf",&a[i][j]);a0[i][j]=a[i][j];}fscanf(f,"%lf",&b[i]);b0[i]=b[i];}displayA();fclose(f);k=1;do{for(i=1;i<=n;i++){if(i==k)continue;l[i]=a0[i][k]/a0[k][k];}for(j=k+1;j<=n;j++)a[k][j]=a0[k][j]/a0[k][k];b[k]=b0[k]/a0[k][k];for(i=1;i<=n;i++){if(i==k)continu

10、e;for(j=k+1;j<=n;j++)a[i][j]=a0[i][j]-l[i]*a0[k][j];b[i]=b0[i]-l[i]*b0[k];}displayA();for(i=1;i<=n;i++){for(j=k+1;j<=n;j++)a0[i][j]=a[i][j];b0[i]=b[i];}if(k==n)break;k++;}while(1);for(i=1;i<=n;i++)8printf("b[%2d]=%l

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。