计算方法实验报告册

2026/4/24 23:20:44

float F1(float x) {

//该函数计算函数?1(x)的值 }

float P0(float x) {

//该函数计算函数?0(x)的值 }

float P1(float x) {

//该函数计算函数?1(x)的值 }

调用上述函数,实现三次样条插值 float *Cubic_Spline() {

//该函数计算所有点的插值结果 }

三 实验组织运行要求

实验前,由任课教师落实实验任务,每个学生事先编写好算法设计源程序代码。集中上机、调试

并通过计算机图形可视化演示操作实例来测试、验证所学的数值分析理论。

四 实验条件

为每个学生提供一台具有WINDOWS 98/XP/NT/2000操作系统的计算机;同时提供VC++/VB/JAVA/TC等集成语言开发环境来编程设计计算方法的上机实验。

五 实验步骤

1. 根据实验内容和算法流程图预先编好程序初稿,上机调试、运行, 输出正确的结果。

2. 三种类型的插值函数所生成的图形要显示在同一坐标轴上,并用三种不同的颜色分别表示出来。 3. 分析它们的运行结果,并比较三种插值函数各自不同的特点。 4. 实验完毕后提交实验报告

六 实验程序

NInterpolation.cpp #include \#include \

NInterpolation::NInterpolation(void) { }

NInterpolation::NInterpolation(double *x,double *y,int n) {

this->n=n;

this->x=new double[n+1];

}

this->y=new double[n+1]; for(int i=0;i<=n;i++) { }

N=x[n]-x[0]; X=new double[N+1]; Y=new double[N+1]; for(int i=0;i<=N;i++) X[i]=x[0]+i; a=new double[n+1]; for(int k=0;k<=n;k++) {

double t=0;

for(int i=0;i<=k;i++) { } a[k]=t; }

double m=1;

for(int j=0;j<=k;j++) { }

t+=y[i]/m;

if(j==i)

continue; m*=(x[i]-x[j]); else

this->x[i]=x[i]; this->y[i]=y[i];

NInterpolation::~NInterpolation(void) { }

void NInterpolation::Netwon(void) { }

for(int i=0;i<=N;i++) { }

Y[i]=0;

for(int j=0;j<=n;j++) { }

Y[i]+=((l(X[i],j)*a[j]));

double NInterpolation::l(double mx,int p) { }

ZInterpolation.cpp #include \#include \

ZInterpolation::ZInterpolation(void) { }

ZInterpolation::ZInterpolation(double *x,double *y,int n) { }

ZInterpolation::~ZInterpolation(void) { }

double ZInterpolation::l(double mx, int i) { }

double t=1;

for(int j=0;j<=n;j++)

if(j==i)

continue;

t*=(mx-x[j])/(x[i]-x[j]); else this->n=n;

this->x=new double[n+1]; this->y=new double[n+1]; for(int i=0;i<=n;i++) { }

N=x[n]-x[0]; X=new double[N+1]; Y=new double[N+1]; for(int i=0;i<=N;i++) X[i]=x[0]+i;

this->x[i]=x[i]; this->y[i]=y[i]; double m=1;

for(int i=0;i

m*=(mx-x[i]);

return t;

double ZInterpolation::L(double mx) { }

void ZInterpolation::lagrange(void) { }

x=[1 2 3 4]; y=[12 -8 34 100]; xi=1:0.1:4;

yi=interp1(x,y,xi,'spline'); plot(x,y,'o',xi,yi);

for(int i=0;i<=N;i++)

Y[i]=L(X[i]); double t=0;

for(int i=0;i<=n;i++)

t+=y[i]*l(mx,i); return t;

七 实验结果

NInterpolation ZInterpolation

Cubic_Spline


计算方法实验报告册.doc 将本文的Word文档下载到电脑
搜索更多关于: 计算方法实验报告册 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219