2025年现代数值计算技术实验报告指南.docx

2025年现代数值计算技术实验报告指南.docx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

河北工业大学

《数值分析》课程试验

实验报告

专业:计算机科学与技术

班级:计1305班

姓名:岳帅鹏

学号:133007

完毕日期:_.1.11

试验一

一、试验规定

用两种不一样的次序计算

,分析其误差的变化。

二、试验目的

1、通过上机编程,复习巩固此前所学程序设计语言;

2、通过上机计算,理解舍入误差所引起的数值不稳定性。

3、通过上机计算,理解运算次序对计算成果的影响,从而尽量防止大数吃小数的现象。

三、算法描述

1)首先用float精度正序相加得到10000项的和;

2)接着用float精度逆序相加得到10000项的和;

3)然后用double精度正序相加得到10000项的和;

4)再用double精度逆序相加得到10000项的和;

5)根据成果,进行比较分析问题。四、源程序

#includestdio.h#includemath.h

voidmain(

{

inti;

floatsl=0,s2=0,d1,d2;for(i=1;i=10000;i++)

sl=s1+1.0f/(i*i);for(i=10000;i=1;i--)

s2=s2+1.0f/(i*i);

d1=(float)(fabs(1.644834-s1));d2=(float)(fabs(1.644834-s2));

printf(正向求和成果为%f\n,误差为%f\nln,sl,d1);printf(反向求和成果为%f\n,误差为%f\n\n,s2,d2);if(d1d2)

printf(正向求和误差不不小于负向求和误差\n);elseif(d1=d2)

printf(正向求和误差等于负向求和误差\n);else

printf(正向求和误差不小于负向求和误差\n);

五、运行成果

画C:\

画C:\ProgranFiles\IicrosoftYisualStudio\IyProjects\ucha\Debug\ruch..

正向求和结果为1.644725

,误差为0.000109

反向求和结果为1.644834,误差为0.080000

正向求和误差等于负向求和误差Pressanykeytocontinue

六、对算法的理解与感悟

试验二

一、试验规定

1、拉格朗日插值

按下列数据

X;

-3.0

-1.0

1.0

2.0

3.0

y;

1.0

1.5

2.0

2.0

1.0

作二次插值,并求x?=-2,x?=0,x?=2.75时的函数近似值

2牛顿插值

按下列数据

X;

0.30

0.42

0.50

0.58

0.66

0.72

y;

1.04403

1.08462

1.11803

1.15603

1.19817

1.23223

作五次插值,并求x?=0.46,x?=0.55,x?=0.60时的函数近似值.

二、试验目的

1、熟悉拉格朗日插值多项式和牛顿插值多项式,注意其不一样特点;三、算法描述

1、拉格朗日插值

(1)输入x;,y;(i=0,1,2,….,n),令L(xn)=0;

(2)对=0,1,2,….,n计算

Ln←Ln+1;(x)y;

2、牛顿插值多项式

(1)输入n,x;,y;(i=0,1,2.….,n);

(2)对k=1,2,3.….,n,i=1,2,.….,k计算各阶差商f(x?,x?….,xk);

(3)计算函数值

N。(x)=f(x,)+f[x,,x?](x-x?)+...+f[x,,x,…,xn](x-x,)(x-x?)….(x-xn-1)

四、源程序

1.拉格朗日

#includeiostream#includeiomanip

#includemath.h

usingnamespacestd;

floatjisuanmokuai(int,float,float[],float[J);voidmain(

{

floata,x[50],y[50],J;intm,n;

cout题目:按下列数据endl;

coutx:-3.0-1.01.02.03.0endl;couty:1.01.52.02.01.5endl;

cout作二次插值,求x=-2,x=0,x=2.75时的函数近似值.endl;cout输入插值次数:endl;

cinn;

cout插入计算次数:endl;cinm;

for(inti=

文档评论(0)

乐毅淘文斋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档