第一范文网 - 专业文章范例文档资料分享平台

计算方法实验报告册

来源:用户分享 时间:2025/12/19 2:00:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1mic44rw264vbt11g9pi_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top