1 / 21
文档名称:

数值分析实验报告.doc

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

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

分享

预览

数值分析实验报告.doc

上传人:夏风如歌 2022/3/27 文件大小:295 KB

下载得到文件列表

数值分析实验报告.doc

相关文档

文档介绍

文档介绍:数值分析实验报告
计1310 陈万全
学号:132852
实验一
一.实验内容:
用两种不同的顺序计算,分析其误差的变化。
二.实验目的:
1. 通过上机编程,复****稳固以前所int chazhi();
double niudun(double x)
{
double xi[N]={,,,,,};
double yi[N]={,,,,,};
double sum=0,sumx[N];
chazhi();
sumx[0]=1;
for (int j=1;j<N;j++)
{
sumx[j]=(x-xi[j-1])*sumx[j-1];

}
for (int i=0;i<N;i++)
{
sum=fi[i]*sumx[i]+sum;
}
return sum;
}
int chazhi()
{
double xi[N]={,,,,,};
double yi[N]={,,,,,};
int i,j;
::fi[0]=yi[0];
int flag=1;
for(j=N-1;j>0;j--)
{
for (i=0;i<j;i++)
{
yi[i]=double(yi[i+1]-yi[i])/double(xi[flag+i]-xi[i]);
}
::fi[flag]=yi[0];
flag++;
}
return 0;
}
int main()
{
cout<<",可得值:"<<niudun()<<endl;
cout<<",可得值:"<<niudun()<<endl;
cout<<",可得值:"<<niudun()<<endl;
return 0;
}
五、程序结果
拉格朗日插值
牛顿插值
五 .实验体会
这个实验的目的主要是掌握如何在电脑上运用拉格朗日插值法和牛顿插值法来解决问题。对于拉格朗日插值,已经给出了五个节点的函数值,可以在一定的范围内使用拉格朗日插值法,所以对于-5到1上的X我利用前三个节点,而对于1到5上X我利用后三个节点,这样算出来值的误差会比较小。在牛顿插值上,题中已经给出了六个节点的函数值,利用这六个节点可以算出五阶差商,然后很容易就能够得出结果。其中四阶差商为负数,但是差异不大,五阶差商又变回了正数,所以可以用到五阶差商,这样结果也会更准确。
实验三
一.实验内容
分别用复化梯形公式和复化辛卜生公式计算f(x)=sin(x)/x的积分,并与准确值比较判断精度。
二.实验目的
1掌握复化梯形公式。
2掌握复化辛卜生公式。
三.算法描述
,为每个区间内的梯形公式的累加,所以除端点外的点都累加两次
2.复化新普生公式与梯形公式形式上差异不大,但是由于使用的是三个点一个区间所以只可以求解Sn4所以流程类似。
四.源程序
//************************复化梯形公式************
#include <iostream>
using namespace std;
#include <>
#define A 0
#define B 1
#define N 8
double Yi(double xk)
{
double s;
if(xk==0)
return ;
else
{
s=double(sin(xk))/double(xk);
return s;
}

}
double fx()
{
double sumx=0;
double ki;
for (int k=0;k<N;k++)
{
ki=((double(B-A))/double(N))*k+A;
sumx+=Yi(ki);
}
return sumx;
}
int main ()
{
if (A>B)
{
cout<<"输入的A小于B,错误"<<endl;
return 1;
}
double