分段线性插值 1

计算实习报告

实习题目:专 业:信息与计算科学 班 级:计算 学 号:

姓 名:

2010年4月

分段线性插值

专业:信息与计算科学

一.实习目的及意义

通过计算实习掌握构造算法的基本思路和方法,及解决常见问题的基本算法,能通过计算机算法并用计算机解决实际问题,掌握分段线性插值的原理及计算方法。

二.分段线性插值的计算公式

设y=f(x)在节点a=x 0

f(xi ),i=0,1,2……n. 为了提高近似程度,可以考虑用分段线性插值来逼近原函数,这时的插值函数为原函数:

S x =

在区间[xi-1,x i ]上的线性函数为

s x ,x ∈[x,x ]212……………………

s n x ,x ∈[xn −1,x n ]

s 1 x ,x ∈[x0,x 1]

S i x =y i −1x 三.算法

Step1:输入X

x −x i

i −1−x i

+y i x −x

i

x −x i −1

i −1

,i=0,1,2……n

Step2:输入x i 和y i Step3:for i=1,2,……N 由公式S i x =y i −1Step4:输出y

x −x i x i −1−x i

+y i

x −x i −1x i −x i −1

得到Y 值

四. 程序代码

#include"stdio.h"

#define N 3 void main() { } int i; float X,s; float x[N],y[N];

printf("请输入X 的值:"); scanf("%f",&X);

printf("请输入x 的坐标:"); for(i=0;i

scanf("%f",&x[i]);

printf("请输入y 的坐标:"); for(i=0;i

scanf("%f",&y[i]);

for(i=1;i

printf("%f\n",s);

if(X>=x[i-1]&&X

s=y[i-1]*(X-x[i])/(x[i-1]-x[i])+y[i]*(X-x[i-1])/(x[i]-x[i-1]);

五.数值算例

请输入X 的值:3.5 请输入x i 的值:2 3 4 请输入y i 的值:3 4 5 4.500000

六.对计算结果进行分析评价

由于定义的变量类型不一样,得出的答案有所不同,但算法及程序整体还是正确的。

七.参考文献

计算实习报告

实习题目:专 业:信息与计算科学 班 级:计算 学 号:

姓 名:

2010年4月

分段线性插值

专业:信息与计算科学

一.实习目的及意义

通过计算实习掌握构造算法的基本思路和方法,及解决常见问题的基本算法,能通过计算机算法并用计算机解决实际问题,掌握分段线性插值的原理及计算方法。

二.分段线性插值的计算公式

设y=f(x)在节点a=x 0

f(xi ),i=0,1,2……n. 为了提高近似程度,可以考虑用分段线性插值来逼近原函数,这时的插值函数为原函数:

S x =

在区间[xi-1,x i ]上的线性函数为

s x ,x ∈[x,x ]212……………………

s n x ,x ∈[xn −1,x n ]

s 1 x ,x ∈[x0,x 1]

S i x =y i −1x 三.算法

Step1:输入X

x −x i

i −1−x i

+y i x −x

i

x −x i −1

i −1

,i=0,1,2……n

Step2:输入x i 和y i Step3:for i=1,2,……N 由公式S i x =y i −1Step4:输出y

x −x i x i −1−x i

+y i

x −x i −1x i −x i −1

得到Y 值

四. 程序代码

#include"stdio.h"

#define N 3 void main() { } int i; float X,s; float x[N],y[N];

printf("请输入X 的值:"); scanf("%f",&X);

printf("请输入x 的坐标:"); for(i=0;i

scanf("%f",&x[i]);

printf("请输入y 的坐标:"); for(i=0;i

scanf("%f",&y[i]);

for(i=1;i

printf("%f\n",s);

if(X>=x[i-1]&&X

s=y[i-1]*(X-x[i])/(x[i-1]-x[i])+y[i]*(X-x[i-1])/(x[i]-x[i-1]);

五.数值算例

请输入X 的值:3.5 请输入x i 的值:2 3 4 请输入y i 的值:3 4 5 4.500000

六.对计算结果进行分析评价

由于定义的变量类型不一样,得出的答案有所不同,但算法及程序整体还是正确的。

七.参考文献


相关文章

  • matlab实现lagrange插值和分段线性插值
  • 数值分析作业 姓名:虞驰程 题目: 函数:f x =1+x2在[-5,5]上,取n=10,对其进行分段线性插值和拉格朗日插值,在Matlab 中实现且绘图. Matlab 实现: 首先定义函数f ,在Matlab 中用function.m ...查看


  • 分段线性插值
  • 摘要 用函数来表示变量间的数量关系广泛应用于各学科领域,但是在实际问题中,往往是通过实验.观测以及计算等方法,得到的是函数在一些点上的函数值.如何通过这些离散数据找到函数的一个满足精度要求且便于使用的近似表达式,是经常遇到的问题. 对于这类 ...查看


  • 分段线性插值 2
  • 1.4分段插值 一. 分段线性插值 在每个区间 i i + 1 上,用1阶多项式 (直线) 逼近 f (x): for x ∈[x i , x i +1] 即用折线代替曲线.设f (x )连续 一f (x ) P 1h (x ) →记 h ...查看


  • 传感器非线性误差的修正
  • 传感器非线性误差的修正 摘 要: 传感器在采集数据时存在一定的非线性误差.要使系统的性能达到最佳,必须对传感器的非线性误差进行分析和处理.本文讨论了传感器非线性误差的几种处理方法,并对各种方法作了比较. 关键词: 非线性误差,硬件电路校正, ...查看


  • 插值算法与matlab代码
  • Matlab 中插值函数汇总和使用说明 MATLAB 中的插值函数为interp1,其调用格式为: yi= interp1(x,y,xi,'method') 其中x ,y 为插值点,yi 为在被插值点xi 处的插值结果:x,y 为向量, ' ...查看


  • 什么叫拟合?什么叫插值?二者的区别是什么?
  • 什么叫拟合?什么叫插值?二者的区别是什么? 插值和拟合都是函数逼近或者数值逼近的重要组成部分 他们的共同点都是通过已知一些离散点集M上的约束,求取一个定义 在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律的 目的,即通过&qu ...查看


  • 计算方法拉格朗日插值
  • 第二章 插值法 知识点:拉格朗日插值法,牛顿插值法,误差,龙格现象,分段插值. 1.背景 实践活动中,表现事务变化的信息往往只是一些离散点值,例如 每个6小时记录一次温度,以此反映一天的气温变化状况,如下表图 温度(.C) 34 32 30 ...查看


  • 牛顿插值法的应用
  • 牛顿插值法在处理磁化曲线和铁损曲线 中的应用 指导老师:李国霞 院系:物理工程学院 专业:物理电子学 姓名:夏委委 学号:[1**********]6 一.牛顿插值法简介 在科学研究与其他领域中所遇到的许多实际问题中,经常会出现函数不便于处 ...查看


  • 过冷奥氏体等温转变图
  • 过冷奥氏体等温转变曲线数据库的建立试验研究 (上海200030) 阮 冬 潘健生 胡明娟 [摘要] 本文用三次样条函数描述了钢的过冷奥氏体等温转变曲线,在微机上建立了TTT曲线数据库,实现了 直观,占用计算机存储空间小.并进一步用等温转变动 ...查看


热门内容