预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《数值计算方法》实验指导(Matlab版)学院数学与统计学学院计算方法课程组1/38《数值计算方法》实验1报告班级:20##级####x班学号:20##2409####:##X成绩:1.实验名称实验1算法设计原则验证(之相近数相减、大数吃小数和简化计算步骤)2.实验题目(1)取z1016计算z1z和1/(z1z)验证两个相近的数相减会造成有效数字的损失.(2)按不同顺序求一个较大的数(123)与1000个较小的数(31015)的和验证大数吃小数的现象.(3)分别用直接法和九韶算法计算多项式P(x)axnaxn1axa01n1n在x=1.00037处的值.验证简化计算步骤能减少运算时间.n1对于第(3)题中的多项式P(x)直接逐项计算需要n(n1)21次乘2法和n次加法使用九韶算法P(x)(((axa)xa)xa)xa012n1n则只需要n次乘法和n次加法.3.实验目的验证数值算法需遵循的若干规则.4.基础理论设计数值算法时应避免两个相近的数相减、防止大数吃小数、简化计算步骤减少运算次数以减少运算时间并降低舍入误差的积累.两相近的数相减会损失有效数字的个数用一个大数依次加小数小数会被大数吃掉乘法运算次数太多会增加运算时间.5.实验环境操作系统:Windowsxp;程序设计语言:Matlab6.实验过程(1)直接计算并比较;(2)法1:大数逐个加1000个小数法2:先把1000个小数相加再与大数加;(3)将由高次项到低次项的系数保存到数组A[n]中其中n为多项式次数.7.结果与分析(1)计算的z1z=1/(z1z).分析:(2)123逐次加1000个3106的和是先将1000个3106相加再用这个和与1232/38相加得.分析:(3)计算次的多项式:直接计算的结果是用时;用九韶算法计算的结果是用时.分析:8.附录:程序清单(1)两个相近的数相减.%*************************************************************%*程序名:ex1_1.m*%*程序功能:验证两个相近的数相减会损失有效数字个数*%*************************************************************z=1e16;%x=z1z;%y=1/(z1z);xy======================================================================(2)大数吃小数%***************