matlab 软件拟合与插值运算实验报告

合集下载

matlab插值与曲线拟合实验报告

matlab插值与曲线拟合实验报告

湖南大学电气与信息工程学院 《数值计算》课程 上机实验报告姓名: 班级: 学号: 日期:指导老师:本次实验题号:第 3 次实验1) 实验目的:1) 用MATLAB 实现拉格朗日插值和分段线性插值。

2) 了解matlab 实现曲线拟合方法的实际应用。

二. 实验内容:1) 插值算法的应用:题目:用拉格朗日插值程序,分段线形插值函数分别研究f (X )的数据表,计算f(0.472) X 0.46 0.47 0.48 0.49 Y0.48465550.49375420.50274980.51166832) 曲线拟合方法的实际应用用电压V=10V 的电池给电容器充电,电容器上t 时刻的电压v(t)=V-(V-V0)e^(-t/T),其中V0是电容器的初始电压,T 是充电常数。

实验测量了一组数据如下,请根据数据表确定V0和T 的大小。

t 0.5 1 2 3 4 5 7 9 V(t) 6.366.487.268.228.668.999.439.63三. 算法介绍或方法基础1.1 拉格朗日插值法对于已给定的点 00(,),...,(,)k k x y x y 和待估计的点的横坐标x ,如上述理论,将其值代入1100,011()()()()():......()()()()kj j i k j i i j j i j j j j j j kx x x x x x x x x x l x x x x x x x x x x x -+=≠-+-----==-----∏计算出插值基函数的值,然后根据公式:():()ki i j L x y l x ==∑计算出纵坐标的估计值,由此完成对该点的插值过程,其中k 为该点插值的阶数。

1.2 线性分段插值利用已给定的点 00(,),...,(,)k k x y x y 对插值区间分为1k -段,将每段的端点(,)i i x y 与 11(,)i i x y ++作为数据点利用公式100010()()()()()f x f x p x f x x x x x -=+--在所构成的区间进行线性插值。

数据插值、拟合方法的MATLAB实现

数据插值、拟合方法的MATLAB实现
2.2用6阶多项式拟合的命令
hours=0:1:23;
temps=[12 12 12 11 10 10 10 10 11 13 15 18 19 20 22 21 20 19 18 16 15 15 15 15]
n=6;
p=polyfit(hours,temps,n)
t=linspace(0,23,100);
z=polyval(p,t); %多项式求值
plot(hours,temps,'o',t,z,'k:',hours,temps,'b',’r’,'linewidth',1.5)
legend('原始数据','6阶曲线')
2.3用8阶多项式拟合的命令
hours=0:1:23;
temps=[12 12 12 11 10 10 10 10 11 13 15 18 19 20 22 21 20 19 18 16 15 15 15 15]
实验结果:
1.一元插值图像
图1.1一元插值图
经分析三次样条插值法效果最好,以三次样条插值法得出每个0.5小时的温度值:
时间
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
温度
12
11.9
12
12.0
12
11.6
11
10.4
10
9.9
10
10.0
时间
6
6.5
7
7.5
8
8.5
9
9.5
10
10.5
11
11.5

拟合插值

拟合插值

一、实验目的用matlab测试数据的拟合与插值二、实验原理1 拟合(1)polyfit函数MATLAB的polyfit函数用于多项式拟合,其语法为:p = polyfit(x, y, k);其中,x,y分别是横纵坐标向量,它们不仅元素个数相同,而且同为行向量或同为列向量。

k为非负整数,是待拟合的多项式的最高次数。

p是输出项,为待拟合的多项式的系数向量(由高次到低次排列)。

在进行多项式拟合时,必须注意的是,拟合的精度是有限的,一般而言,需要满足以下条件:记m为不重复的横坐标的数目,则拟合次数k <= m - 1,在此前提下尽量使用低次多项式进行拟合。

(2)polyval函数polyval,顾名思义就是“多项式的值”,该函数的功能是将已知数据代入拟合得的多项式求值。

语法格式:y = polyval(p, x);其中,p是已经拟合的多项式(比如说(1)中的p),x是自变量组成的向量,y是所求值组成的向量。

(3)计算多项式拟合的方差已知原始数据x和y,拟合得到多项式p,判断拟合效果好坏的一个重要指标是方差,方差的计算方法是e = sum((y - polyval(p, x)).^2).polyval(p, x)得到拟合值向量,y是真实值向量,两者相减得到真实值和拟合值的差值向量,“.^2”表示对矩阵中的每一个元素进行平方运算,于是得到差值向量中每一个元素的平方,sum是求和函数,显然就是求差值向量元素的平方和,而这就是方差。

2 插值法:插值法又称“内插法”,是利用函数f (x)在某区间中插入若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值,这种方法称为插值法。

三、实验设备、仪器及材料Windows7 ,matlab软件四、实验步骤(按照实际操作过程)(1)开启软件平台——MATLAB,开启MATLAB编辑窗口(2)根据各种数值解法步骤编写M文件(3)保存文件并运行(4)观察运行结果(数值或图形)(5)根据观察到的结果写出实验报告,并浅谈学习心得体会五、实验过程记录(程序)(1)在MATLAB的命令窗口输入以下代码:>> x = [1, 2, 3, 4];>> y = [3, 5, 7, 9];>> p = polyfit(x, y, 1)敲击回车键,得到输出结果:p =2.0000 1.0000所以拟合得的函数就是:y = 2.0000X + 1.0000.在进行多项式拟合时,必须注意的是,拟合的精度是有限的,一般而言,需要满足以下条件:记m为不重复的横坐标的数目,则拟合次数k <= m - 1,在此前提下尽量使用低次多项式进行拟合。

数值分析matlab实验报告

数值分析matlab实验报告

数值分析matlab实验报告数值分析MATLAB实验报告引言:数值分析是一门研究利用计算机进行数值计算和解决数学问题的学科。

它在科学计算、工程技术、金融等领域中有着广泛的应用。

本实验旨在通过使用MATLAB软件,探索数值分析的基本概念和方法,并通过实际案例来验证其有效性。

一、插值与拟合插值和拟合是数值分析中常用的处理数据的方法。

插值是通过已知数据点之间的函数关系,来估计未知数据点的值。

拟合则是通过一个函数来逼近一组数据点的分布。

在MATLAB中,我们可以使用interp1函数进行插值计算。

例如,给定一组离散的数据点,我们可以使用线性插值、多项式插值或样条插值等方法,来估计在两个数据点之间的未知数据点的值。

拟合则可以使用polyfit函数来实现。

例如,给定一组数据点,我们可以通过最小二乘法拟合出一个多项式函数,来逼近这组数据的分布。

二、数值积分数值积分是数值分析中用于计算函数定积分的方法。

在实际问题中,往往无法通过解析的方式求得一个函数的积分。

这时,我们可以使用数值积分的方法来近似计算。

在MATLAB中,我们可以使用quad函数进行数值积分。

例如,给定一个函数和积分区间,我们可以使用quad函数来计算出该函数在给定区间上的定积分值。

quad函数使用自适应的方法,可以在给定的误差限下,自动调整步长,以保证积分结果的精度。

三、常微分方程数值解常微分方程数值解是数值分析中研究微分方程数值解法的一部分。

在科学和工程中,我们经常遇到各种各样的微分方程问题。

而解析求解微分方程往往是困难的,甚至是不可能的。

因此,我们需要使用数值方法来近似求解微分方程。

在MATLAB中,我们可以使用ode45函数进行常微分方程数值解。

例如,给定一个微分方程和初始条件,我们可以使用ode45函数来计算出在给定时间范围内的解。

ode45函数使用龙格-库塔方法,可以在给定的误差限下,自动调整步长,以保证数值解的精度。

结论:本实验通过使用MATLAB软件,探索了数值分析的基本概念和方法,并通过实际案例验证了其有效性。

matlab实验-6matlab插值与拟合实验 (1)

matlab实验-6matlab插值与拟合实验 (1)

新乡学院数学与信息科学系实验报告实验名称插值与拟合所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级2011级1班学号11111021012姓名李欢丽指导教师朱耀生一、实验概述【实验目的】学会用一维插值函数yi=interp1(xo,yo,x,’menthod ’)求出函数在插值点处的函数值,和用二维函数plot()作图。

用二维插值函数zi=interp2(x0,y0,z0,x,y,’method ’)求其在网格节点数据的插值,和用三维函数surfc()作图.【实验原理】1,一维插值函数yi=interp1(xo,yo,x,’menthod ’),yi 被插值点处的函数值,xo,yo 插值节点,x 被插值点,nearest 最邻近插值,linear 线性插值,spline 三次样条插值,cubic 立方插值,缺省时,为分段线性插值.2,二维作图函数plot(x,y),x ,y 都是向量时,则以x 中元素为横坐标,y 中元素为纵坐标,且x ,y 长度相同。

x,y 都是矩阵,x 列与y 列结合,绘制多条平面曲线,且必同大小。

3,用作网格节点数据的插值zi=interp2(x0,y0,z0,x,y,’method ’),zi 为被插值点的函数值,x0,y0,z0点,x,y 被插值点,’method ’中’nearest ’为最邻近差值,’linear ’为双线性插值,’cubic ’为双三次插值,缺省时为双线性插值。

4,网格生成函数[X,Y]meshgrid(x,y),x,y 为给定的向量,X,Y 是网格划分后得到的网格矩阵绘制三维曲面图;三维曲面绘制函数surfc(x,y,z)【实验环境】MatlabR2010b二、实验内容问题1 对函数21()1f x x =+,x ∈[-5,5],分别用分段线性插值和三次样条插值作插值(其中插值节点不少于20),并分别作出每种插值方法的误差曲线.1.分析问题通过一维插值函数yi=interp1(xo,yo,x,’menthod ’)求出函数在插值点处的函数值,然后用二维函数plot()作图。

实验二:插值与拟合

实验二:插值与拟合

实验二:插值与拟合
实验目的:
1. 掌握用MATLAB 计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析。

2. 掌握用MATLAB 作线性最小二乘的方法。

3. 通过实例学习如何用插值方法与拟合方法解决实际问题,注意两者的联系与区别。

实验要求:
1. 编制计算拉格朗日插值的m 文件。

2. 练习interp1与interp2使用方法。

3. 通过实例,对三种插值结果进行比较。

4. 最小二乘拟合进行参数估计,并作图进行比较。

实验内容:
1. 选择一些函数,在n 个节点上(n 不要太大,如,5-11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m 要适中,如50-100),通过数值和图形输出,将三种插值结果与精确值进行比较,通过增加n ,再作比较,由此作初步分析。

(1)π20,sin ≤≤=x x y (2)11,)1(2
1
2≤≤--=x x y (3)22,cos 10≤≤-=x x y (4)22),exp(2≤≤--=x x y
2. 用给定的多项式,如35623-+-=x x x y ,产生一组数据(x i ,y i ,
i=1,2,…,n),再在y i上添加随机干扰(可用rand产生),然后用x i 和添加了随机干扰的y i作3次多项式拟合,与原系数比较,如果作2或4次多项式拟合,结果如何?
3.在化工生产中,常常需要知道丙烷在各种温度T和压力P下的导
热系数K,下面是实验得到的一组数据:
试求T=99和P=10.3下的K。

程序设计实验报告(matlab)

程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。

实验内容:运用Matlab进行简单的程序设计。

实验方法:基于Matlab环境下的简单程序设计。

实验结果:成功掌握简单的程序设计和Matlab基本编程语法。

实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。

实验内容:在Matlab环境下进行多项式拟合和插值的计算。

实验方法:结合Matlab的插值工具箱,进行相关的计算。

实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。

实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。

实验内容:利用Matlab进行最小二乘法计算。

实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。

实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。

实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。

实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。

实验方法:基于Matlab的ODE工具箱,进行ODE求解。

实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。

总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。

通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。

这些知识和技能对我未来的学习和工作都将有着重要的帮助。

matlab插值实验报告

matlab插值实验报告

matlab插值实验报告Matlab插值实验报告引言:在数学和工程领域中,插值是一种常见的数据处理方法。

它通过已知数据点之间的推断来填补数据的空缺部分,从而获得连续的函数或曲线。

Matlab是一种功能强大的数值计算软件,具备丰富的插值函数和工具包。

本实验旨在通过使用Matlab进行插值实验,探索插值方法的原理和应用。

实验步骤:1. 数据准备首先,我们需要准备一组实验数据。

以一个简单的二维函数为例,我们选择f(x) = sin(x),并在区间[0, 2π]上取若干个等间隔的点作为已知数据点。

2. 线性插值线性插值是插值方法中最简单的一种。

它假设函数在两个已知数据点之间是线性变化的。

在Matlab中,可以使用interp1函数进行线性插值。

我们将已知数据点和插值结果绘制在同一张图上,以比较它们之间的差异。

3. 多项式插值多项式插值是一种常用的插值方法,它通过已知数据点构造一个多项式函数来逼近原始函数。

在Matlab中,polyfit函数可以用来拟合多项式。

我们可以选择不同的多项式次数进行插值,并观察插值结果与原始函数之间的差异。

4. 样条插值样条插值是一种更为精确的插值方法,它通过在每个小区间内构造局部多项式函数来逼近原始函数。

在Matlab中,可以使用spline函数进行样条插值。

我们可以选择不同的插值节点数目,并比较插值结果的平滑程度和逼近效果。

5. 拉格朗日插值拉格朗日插值是一种基于多项式的插值方法,它通过构造插值多项式来逼近原始函数。

在Matlab中,可以使用polyval函数进行拉格朗日插值。

我们可以选择不同的插值节点数目,并观察插值结果与原始函数之间的差异。

实验结果:通过实验,我们得到了不同插值方法的结果,并将其与原始函数进行了比较。

在线性插值中,我们观察到插值结果与原始函数之间存在一定的误差,特别是在函数变化较快的区域。

而多项式插值和样条插值在逼近原始函数方面表现更好,特别是在插值节点数目较多的情况下。

插值法和拟合实验报告

插值法和拟合实验报告

插值法和拟合实验报告一、实验目的1.通过实验了解插值法和拟合法在数值计算中的应用;2.掌握拉格朗日插值法、牛顿插值法和分段线性插值法的原理和使用方法;3.学会使用最小二乘法进行数据拟合。

二、实验仪器和材料1.一台计算机;2. Matlab或其他适合的计算软件。

三、实验原理1.插值法插值法是一种在给定的数据点之间“插值”的方法,即根据已知的数据点,求一些点的函数值。

常用的插值法有拉格朗日插值法、牛顿插值法和分段线性插值法。

-拉格朗日插值法:通过一个n次多项式,将给定的n+1个数据点连起来,构造出一个插值函数。

-牛顿插值法:通过递推公式,将给定的n+1个数据点连起来,构造出一个插值函数。

-分段线性插值法:通过将给定的n+1个数据点的连线延长,将整个区间分为多个小区间,在每个小区间上进行线性插值,构造出一个插值函数。

2.拟合法拟合法是一种通过一个函数,逼近已知的数据点的方法。

常用的拟合法有最小二乘法。

-最小二乘法:通过最小化实际观测值与拟合函数的差距,找到最优的参数,使得拟合函数与数据点尽可能接近。

四、实验步骤1.插值法的实验步骤:-根据实验提供的数据点,利用拉格朗日插值法、牛顿插值法、分段线性插值法,分别求出要插值的点的函数值;-比较三种插值法的插值结果,评价其精度和适用性。

2.拟合法的实验步骤:-根据实验提供的数据点,利用最小二乘法,拟合出一个合适的函数;-比较拟合函数与实际数据点的差距,评价拟合效果。

五、实验结果与分析1.插值法的结果分析:-比较三种插值法的插值结果,评价其精度和适用性。

根据实验数据和插值函数的图形,可以判断插值函数是否能较好地逼近实际的曲线。

-比较不同插值方法的计算时间和计算复杂度,评价其使用的效率和适用范围。

2.拟合法的结果分析:-比较拟合函数与实际数据点的差距,评价拟合效果。

可以使用均方根误差(RMSE)等指标来进行评价。

-根据实际数据点和拟合函数的图形,可以判断拟合函数是否能较好地描述实际的数据趋势。

matlab实验报告 插值和拟合

matlab实验报告 插值和拟合

建模中数据处理和分析班级 学号 姓名 实验地点 完成日期 成绩(一)实验目的与要求应用matlab 处理数据并分析,主要学会并熟练掌握数据拟合和插值。

(二)实验内容1. 用下面一组数据拟合ktbea t c 02.0)(-+=中的参数a ,b ,k2.在某山区测得一些地点的高程如下表。

平面区域为 1200<=x<=4000,1200<=y<=3600) 试作出该山区的地貌图X Y 120016002000240028003200360040001200 1130 1250 1280 1230 1040 900 500 700 1600 1320 1450 1420 1400 1300 700 900 850 2000 1390 1500 1500 1400 900 1100 1060 950 2400 1500 1200 1100 1350 1450 1200 1150 1010 2800 1500 1200 1100 1550 1600 1550 1380 1070 3200 1500 1550 1600 1550 1600 1600 1600 1550 36001480 1500 1550 1510 1430 1300 1200 980(三)实验具体步骤 实验1要先建立一个M 文件,文件中代码如下: function F=myfun(x,xdata) F=x(1)+x(2)*exp(-0.02*x(3)*xdata) 接下来在command window 中输入如下代码: Clc Clearxdata=[100:100:1000];ydata=[4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59]/1000; x0=[0.2 0.05 0.05];[x,resnorm]=lsqcurvefit(@myfun,x0,xdata,ydata) 接着MATLAB 会进行若干次运算,并给出结果:所以拟合的结果是a=0.0063,b=-0.0034,c=0.2542 然后,我们作图看看拟合的结果,输入代码plot(xdata,0.0063-0.0034*exp(-0.02*0.2542*xdata),xdata,ydata,'o') 得到图像如下:实验二建立一个m 文件,在其中输入代码如下: x=1200:400:4000;y=1200:400:3600;100200300400500600700800900100044.555.566.57x 10-3temps=[1130 1250 1280 1230 1040 900 500 700;1320 1450 1420 1400 1300 700 900 850;1390 1500 1500 1400 900 1100 1060 950;1500 1200 1100 1350 1450 1200 1150 1010;1500 1200 1100 1550 1600 1550 1380 1070;1500 1550 1600 1550 1600 1600 1600 1550;1480 1500 1550 1510 1430 1300 1200 980];mesh(x,y,temps)xi=1200:30:4000;yi=1200:30:3600;zi=interp2(x,y,temps,xi',yi,'cubic');mesh(xi,yi,zi)meshz(xi,yi,zi)colordef black运行后打开图形窗口的属性设置对话框,对背景,颜色等属性进行设置,得到下图:(四)实验结果实验中顺利得到拟合结果以及一个三维图像,虽然过程艰辛,但结果十分美好。

插值法和拟合实验报告(数值计算)

插值法和拟合实验报告(数值计算)

插值法和拟合实验报告一、实验目的1.通过进行不同类型的插值,比较各种插值的效果,明确各种插值的优越性;2.通过比较不同次数的多项式拟合效果,了解多项式拟合的原理;3.利用matlab 编程,学会matlab 命令;4.掌握拉格朗日插值法;5.掌握多项式拟合的特点和方法。

二、实验题目1.、插值法实验将区间[-5,5]10等分,对下列函数分别计算插值节点kx 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较:;11)(2x x f += ;arctan )(x x f = .1)(42x x x f +=(1) 做拉格朗日插值; (2) 做分段线性插值; (3) 做三次样条插值.2、拟合实验给定数据点如下表所示:分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形。

三、实验原理1.、插值法实验∏∑∏∏∏∑∑≠==≠=≠=≠=+-==--==-===-=-=----==++==ji j ji i i i i ni i n nji j jnji j ji i nji j jn i i i ni i n nn o i ni i n x x x x x y x l x L x x c ni x x c x x x cx x x x x x x x c y x l x L y x l y x l y x l x L ,00,0,0,0110000)(l )()()(1,1,0,1)()(l )()())(()()()()()()()(,故,得再由,设2、拟合实验四、实验内容1.、插值法实验1.1实验步骤:打开matlab软件,新建一个名为chazhi.m的M文件,编写程序(见1.2实验程序),运行程序,记录结果。

1.2实验程序:x=-5:1:5;xx=-5:0.05:5;y1=1./(1+x.^2);L=malagr(x,y1,xx);L1=interp1(x,y1,x,'linear');S=maspline(x,y1,0.0148,-0.0148,xx);hold on;plot(x,y1,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y2=atan(x);L=malagr(x,y2,xx);L1=interp1(x,y2,x,'linear');S=maspline(x,y2,0.0385,0.0385,xx);hold on;plot(x,y2,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y3=x.^2./(1+x.^4);L=malagr(x,y3,xx);L1=interp1(x,y3,x,'linear');S=maspline(x,y3,0.0159,-0.0159,xx);hold on;plot(x,y3,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');1.3实验设备:matlab软件。

matlab---实验六 插值与拟合

matlab---实验六 插值与拟合

实验六 插值与拟合班级:统计0502 学号:1303050206 姓名:欧钊锋实验目的:● 通过本次实验,掌握拉格郎日插值,分段线性插值和三次样条插值的基本原理和方法 ● 通过最小二乘法实现二次拟合● 通过实验掌握用上述方法解决现实问题的能力实验理论:插值:X 为给定的N 个插值节点,Y 为对应的N 个函数值,利用N 次拉格郎日插值多项式,可以求出插值区间内任意x 的插值拟合:利用分散的数据点,运用最小二乘法、多项式或其他的已知函数等方法来生成一个新的多项式或是函数来逼近这些已知点实验内容(一):(2)利用y=interp1(x0,y0,x)作分段线性插值(3)利用y=spline(x0,y0,x)做三次样条插值程序设计:flagrange 插值function y=ozflagrange(n) %在MA x=-5:0.01:5; X=-5:(10/n):5; Y=1./(1+X.^2); r=length(X); m=length(x); for i=1:m z=x(i);s=0.0;for k=1:rp=1.0;for j=1:rif j~=kp=p*(z-X(j))/(X(k)-X(j));endend插值多项式次的作就Lagrange n x f n )(10,8,6,4,2=n i n h ih x n n i ,,1,0,10,51]5,5[ ==+-=+-个节点等份取将]5,5[,11)()1(2-∈+=x x x f 已知函数s=p*Y(k)+s;endy(i)=s;endplot(x,y,'b-')线性插值x0=linspace(-5,5,10); y0=1./(1+x0.^2);x1=linspace(-5,5,1000); y1=interp1(x0,y0,x1); plot(x1,y1,'g');title('线性插值')三次样条插值x0=-5:1:5;y0=1./(1+X.^2);x=-5:1:5;y=spline(x0,y0,x)plot(x0,y0,'-b',x,y)title('spline fit')实验结果:实验内容(二):已知热敏电阻数据温度t(0C) 20.5 32.7 51.0 73.0 95.7电阻R( ) 765 826 873 942 1032求60C时的电阻R。

MATLAB实验报告

MATLAB实验报告

MATLAB 实验报告一、实验名称实验8 MATLAB 应用二、实验目的:了解MATLAB 在曲线拟合、插值和解线性方程方面的应用三、实验内容:1.曲线拟合已知离散点上的数据集[(x1,y1),(x2,y2),…,(xn,yn)],求得一解析函数y=f(x),使f(x)在原离散点xi 尽可能接近给定yi 值,这一过程叫曲线拟合,最常用的曲线拟合是最小二乘拟合,拟合结果可使误差的平方和最小,即找出使∑=n 1i 2i i y -)f(x 最小的f(x)。

x=[0.5,1.0,1.5,2.0,2.5,3.0];y=[1.75,2.45,3.81,4.80,7.00,8.60];p=polyfit(x,y,2); %最小二乘法拟合数据x1=0.5:0.05:3.0;y1=polyval(p,x1); %计算多项式在指定点的值plot(x,y,'*r',x1,y1,'-b'); %将拟合数据用曲线表示并将原数据点也标在图上2.一维插值year=1900:10:2010product=[75.995,91.972,105.711,123.203,131.669,...150.697,179.232,203.212,226.505,249.633,256.344,267.893];p2005=interp1(year,product,2005) %一维内插x=1900:1:2010y=interp1(year,product,x,'cubic'); %一维内插,三次曲线内插方式plot(year,product,'o',x,y) %作出图像四、回答问题:本次实验未预留问题五、遇到的问题及解决:思考题1由于没有使用点除,因而导致程序运行出错,改正后问题解决。

六、体会:MA TLAB ,重在实践,多学多练,必有提高。

思考题:1. 求定积分⎰=40)(dx x f a ,式中2x 2x 1sin 216ln ln )(2>≤⎪⎩⎪⎨⎧++=当当)π(x x x f quad.ma=quadl('log(x.^2)',0,2);b=quadl('log(16)./(2+sin((x+1).*pi))',2,4);c=a+b运行状况:>> quadWarning: Log of zero.> In inlineeval at 13In inline.feval at 34In quadl at 64In quad at 1c =1.97412.已知x=[1.2 1.8 2.1 2.4 2.63.0 3.3],y=[4.855.2 5.66.2 6.57.0 7.5],求对x 和y 进行6阶多项式拟合的系数。

插值与曲线拟合实验报告

插值与曲线拟合实验报告

插值与曲线拟合实验报告实验目的:1. 了解插值和曲线拟合的原理和方法;2. 掌握梯形公式的应用;3. 掌握拉格朗日插值多项式和牛顿插值多项式的构造方法;4. 掌握用MATLAB进行数据拟合的方法。

实验仪器:1. 计算机;2. MATLAB软件。

实验原理:插值:给定一组数据点,插值就是在这些数据点之间插入某些值,以尽量接近原函数的方式得到一个新的函数。

插值方法有很多种,其中比较常用的是拉格朗日插值多项式和牛顿插值多项式。

拉格朗日插值多项式:以一种通用的方式构造多项式,使其通过给定的一组数据点。

构造方法是依据n个数据点(x1,y1),(x2,y2),…,(xn,yn)构造n-1次函数L(x),使得L(xi)=yi且有L(xj)=0(j不等于i)。

该多项式的形式为:L(x)=y1*L1(x)+y2*L2(x)+…+yn*Ln(x)其中,Lk(x)的构造方法是:Lk(x)=(x-x1)(x-x2)…(x-xk-1)(x-xk+1)…(x-xn) /(xk-x1)(xk-x2)…(xk-xk-1)(xk-xk+1)…(xk-xn)牛顿插值多项式:采用递推公式构造,其形式为:其中,f(x0,x1)表示在x0和x1之间的斜率,f(x0,x1,x2)表示在x0、x1和x2之间的曲率,以此类推。

曲线拟合:给定一组数据点,拟合就是寻找一个函数或者曲线,以最优化的方式拟合这些数据点,从而对未知的数据点进行预测。

拟合方法有很多种,其中比较常用的是线性方程、最小二乘法和多项式拟合。

最小二乘法:使用这种方法时,需要有一个数学模型,以此作为拟合函数。

当给定输入-输出数据时,使用最小二乘法以最小化误差平方和的方式来确定函数中未知的参数。

在MATLAB中使用polyfit函数实现多项式拟合。

实验结果:选择数据点如下:x = [1,2,3,4,5];y = [0.7652, 0.6347, 0.4496, 0.2499, 0.0621];使用梯形公式计算插值结果为 0.3865;使用拉格朗日插值多项式计算插值结果为 0.3865;使用牛顿插值多项式计算插值结果为 0.3865。

matlab 软件拟合与插值运算实验报告

matlab 软件拟合与插值运算实验报告

实验6 数据拟合&插值一.实验目的学会MATLAB软件中软件拟合与插值运算的方法。

二.实验内容与要求在生产和科学实验中,自变量x与因变量y=f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。

当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

要根据观测点的值,构造一个比较简单的函数y=t (x),使函数在观测点的值等于已知的数值或导数值,寻找这样的函数t(x),办法是很多的。

根据测量数据的类型有如下两种处理观测数据的方法。

(1)测量值是准确的,没有误差,一般用插值。

(2)测量值与真实值有误差,一般用曲线拟合。

MATLAB中提供了众多的数据处理命令,有插值命令,拟合命令。

1.曲线拟合>> x=[0.5,1.0,1.5,2.0,2.5,3.0];>> y=[1.75,2.45,3.81,4.80,7.00,8.60];>> p=polyfit (x,y,2);>> x1=0.5:0.05:3.0;>> y1=polyval(p,x1 );>> plot(x,y,'*r',x1,y1,'-b')2.一维插值>> year=[1900,1910,1920,1930,1940,1990,2000,2010];>> product = [75.995,91.972,105.711,123.203,131.669,249.633,256.344,267.893 ]; >> p2005=interp1(year,product,2005)p2005 =262.1185>> y= interp1(year,product,x, 'cubic');>> plot(year,product,'o',x,y)3.二维插值>> years=1950:10:1990;>> service=10:10:30;>>wage=[150.697,199.592,187.625;179.323,195.072,250.287;203.212,179.092,322.767;226.505,15 3.706,426.730;249.636,120.281,598.243];>> w=interp2(service,years,wage,15,1975)w =190.6288[例1.98]x=1:6;y=1:4;t=[12,10,11,11,13,15;16,22,28,35,27,20;18,21,26,32,28,25;20,25,30,33,32,30];subplot(1,2,1)mesh(x,y,t)x1=1:0.1:6;y1=1:0.1:4;[x2,y2]=meshgrid(x1,y1);t1=interp2(x,y,t,x2,y2,'cubic');subplot(1,2,2)mesh(x1,y1,t1)三,练习与思考1)已知x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3],y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5],求对x和y进行6阶多项式拟合的系数.x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3];y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5];>> p=polyfit(x,y,6)p =-2.0107 29.0005 -170.6763 523.2180 -878.3092 763.9307 -263.4667x1=0.5:0.05:3.0;>> y1=polyval(p,x1);>> plot(x,y,'*r',x1,y1,'-b')2)分别用2,3,4,5阶多项式来逼近[0,3]上的正弦函数sin x,并做出拟合曲线及sin x函数曲线图,了解多项式的逼近程度和有效拟合区间随多项式的阶数有何变化.(2)2阶:>> x=0:0.01:3;>> y=sin(x);>> p=polyfit(x,y,2);>> x1=0:0.01:3;>> y1=polyval(p,x1);>> plot(x,y,'*r',x1,y1,'-b')>>3阶:>> p=polyfit(x,y,3); >> x1=0:0.01:3;>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>4阶:>> p=polyfit(x,y,4); >> x1=0:0.01:3;>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>5阶:>> p=polyfit(x,y,5); >> x1=0:0.01:3;>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>3)已知x=[0.1,0.8,1.3,1.9,2.5,3.1],y=[1.2,1.6,2.7,2.0,1.3,0.5],用不同的方法求x=2点的插值,并分析所得结果有何不同.>> x=[0.1,0.8,1.3,1.9,2.5,3.1];y=[1.2,1.6,2.7,2.0,1.3,0.5];>> p=interp1(x,y,2)p =1.8833>> x=[0.1,0.8,1.3,1.9,2.5,3.1];y=[1.2,1.6,2.7,2.0,1.3,0.5];>> z=interp1(x,y,2,'cubic')z =1.8844四,提高内容1.三维数据插值[x,y,z,v]=flow(20);[xx,yy,zz]=meshgrid(0.1:0.25:10,-3:0.25:3,-3:0.25:3); vv=interp3(x,y,z,v,xx,yy,zz);slice(xx,yy,zz,vv,[6,9.5],[1,2],[-2,0.2]);shading interpcolormap cool3.三次样条数据插值x=[0 2 4 5 6 12 12.8 17.2 19.9 20];y=exp(x).*sin(x);xx=0:.25:20;yy=spline(x,y,xx);plot(x,y,'o',xx,yy)。

MATLAB插值与拟合实验报告

MATLAB插值与拟合实验报告

MATLAB实验报告题目:第二次实验报告学生姓名:学院:专业班级:学号:年月MATLAB第二次实验报告————插值与拟合插值即在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。

插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。

所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn}通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。

一、插值<1>拉格朗日插值(课上例子)m=101;x=-5:10/(m-1):5;y=1./(1+x.^2);z=0*x;plot(x,z,'r',x,y,'LineWidth',1.5),gtext('y=1/(1+x^2)'),pausen=3;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y1=fLagrange(x0,y0,x);hold on,plot(x,y1,'b'),gtext('n=2'),pause,hold offn=5;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y2=fLagrange(x0,y0,x);hold on,plot(x,y2,'b:'),gtext('n=4'),pause, hold offn=7;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y3=fLagrange(x0,y0,x);hold on,plot(x,y3,'r'),gtext('n=6'),pause,hold offn=9;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y4=fLagrange(x0,y0,x);hold on,plot(x,y4,'r:'),gtext('n=8'),pause,hold offn=11;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y5=fLagrange(x0,y0,x);hold on,plot(x,y5,'m'),gtext('n=10')运行后得<2>拉格朗日插值(课下修改)function yh=lagrange (x,y,xh)n = length(x);m = length(xh);yh = zeros(1,m);c1 = ones(n-1,1);c2 = ones(1,m);for i=1:nxp = x([1:i-1 i+1:n]);yh = yh + y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2)); end输入x=[1 2 3 4 5 6]y=[13 21 34 6 108 217]xh=3.2lagrange(x,y,xh)运行后得x =1 2 3 4 5 6y =13 21 34 6 108 217xh =3.2000ans =26.0951二、拟合<1>课上实例一种新药用于临床之前,必须设计给药方案药物进入机体后通过血液输送到全身,在这个过程中不断地被吸收、分布、代谢,最终排出体外,药物在血液中的浓度,即单位体积血液中的药物含量,称为血药浓度.一室模型:将整个机体看作一个房室,称中心室,室内血药浓度是均匀的.快速静脉注射后,浓度立即上升;然后迅速下降.当浓度太低时,达不到预期的治疗效果;当浓度太高,又可能导致药物中毒或副作用太强.临床上,每种药物有一个最小有效浓度c1和一个最大有效浓度c2.设计给药方案时,要使血药浓度 保持在c1~c2之间.本题设c1=10ug/ml ,c2=25ug/ml.要设计给药方案,必须知道给药后血药浓度随时间变化的规律.从实验和理论两方面着手:在实验方面,对某人用快速静脉注射方式一次注入该药物300mg 后,在一定时刻t(h)采集血药,测得血药浓度c(ug/ml)如下表:模型假设1.机体看作一个房室,室内血药浓度均匀——一室模型2.药物排除速率与血药浓度成正比,比例系数 k(>0)3.血液容积v, t=0注射剂量d, 血药浓度立即为d/v. 模型建立在此,d=300mg ,t 及c (t )在某些点处的值见前表,需经拟合求出参数k 、v.用线性最小二乘拟合c (t )3 (0)/c d ν=由假设得:d 2 -d c kc t=由假设得:()e kt d c t v -⎫⇒=⎬⎭程序:d=300;t=[0.25 0.5 1 1.5 2 3 4 6 8];c=[19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01]; y=log(c);a=polyfit(t,y,1)k=-a(1)v=d/exp(a(2))运行得c1 =-0.0785 1.3586 -22.1079 967.7356a1 =-0.2356 2.7173 -22.1079计算得三、实验感受本次实验,我们主要学习了插值和拟合这两个在实际应用中十分广泛的建模方法,同时,它们也是我们学习数学建模)(02.15),/1(2347.0l v h k ==的基础。

数学建模实验报告 第十八章 插值与拟合

数学建模实验报告 第十八章 插值与拟合

实验名称:第十八章插值与拟合一、实验内容与要求学会用Matlab语言编写程序进行差值和拟合的各种常规运算。

二、实验软件MATLAB6.5三、实验内容1、用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为,其中V0是电容器的初始电压,τ是充电常数。

v(t)=V-(V-V0)e−tτ试由下面一组t,v数据确定V0和τ。

程序:Function y=dianya(x,t)y=10-(10-x(1))*exp(-t/x(2))t=[0.5 1 2 3 4 5 7 9];v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];x0=[0.2,0.05];x=lsqcurvefit('dianya',x0,t,v)y=dianya(x,t)实验结果:x=5.5577 3.50022、弹簧在力F的作用下伸长x,一定范围内服从胡克定律:F与x成正比,即F=kx。

现在得到下面一组F、x的数据,并在(x,F)的坐标下作图,可以看到当F大到一定的数据后,就不服从这个定律了。

试由数据确定k,并给出不服从胡克定律时的近似公式。

分析:这是一道关于弹簧劲度系数的问题,对于此类建模有实际的价值,而且也可以让我们拓宽物理学习的视野,很有价值先用线性拟合来观察所有的数据程序:x=[0 1 2 4 7 9 12 13 15 17];f=[0 1.5 3.9 6.6 11.7 15.6 18.8 19.6 20.6 21.1 ];a=polyfit(x,f,1)z=polyval(a,x);plot(x,f,'k +',x,z,'r')可以看到当弹簧伸长10单位长度后,拟合的情况和不好故先取值前五个数据进行线性拟合x=[0 1 2 4 7 9 ];f=[0 1.5 3.9 6.6 11.7 15.6 ];a=polyfit(x,f,1)z=polyval(a,x);plot(x,f,'k +',x,z,'r')实验结果:a =1.7085 0.0008图形如下:可以看到拟合良好,故可以用F=1.7085X来表示力和弹簧伸长的关系。

数值分析插值与拟合实验

数值分析插值与拟合实验

数值分析插值与拟合实验数值分析是一门研究利用数字计算方法解决数学问题的学科。

插值与拟合是数值分析的重要内容之一,可以用于数据分析、信号处理以及数学建模等领域。

本实验将使用MATLAB软件进行插值与拟合的实验,主要包括插值多项式与拟合曲线的构造,以及评价拟合效果的方法。

实验一:插值多项式的构造1. Lagrange插值Lagrange插值是一种构造多项式来拟合已知数据点的方法。

给定n 个数据点(xi, yi),其中xi不相等,Lagrange插值多项式可以写成:P(x) = ∑(i=0 to n) yi * l_i(x)其中l_i(x)是Lagrange基函数,定义为:l_i(x) = ∏(j=0 to n,j!=i) (x-xj)/(xi-xj)通过计算l_i(x),然后将其乘以相应的数据点yi,最后相加就可以得到插值多项式P(x)。

2. Newton插值Newton插值使用差商的概念来构造插值多项式。

首先定义差商F[x0,x1,...,xn]如下:F[x0]=f(x0)F[x0,x1]=(f(x1)-f(x0))/(x1-x0)F[x0,x1,x2]=(F[x1,x2]-F[x0,x1])/(x2-x0)...F[x0,x1,...,xn] = (F[x1,x2,...,xn] - F[x0,x1,...,xn-1])/(xn-x0)其中f(x)是已知数据点的函数。

然后,利用差商来构造插值多项式:P(x) = ∑(i=0 to n) F[x0,x1,...,xi] * ∏(j=0 to i-1) (x-xj)通过计算差商F[x0,x1,...,xi]和对应的乘积∏(x-xj),最后相加得到插值多项式P(x)。

实验二:拟合曲线的构造1.多项式拟合多项式拟合是通过构造一个多项式函数来拟合已知数据点的方法。

假设给定n个数据点(xi, yi),可以使用多项式函数来表示拟合曲线:P(x) = a0 + a1*x + a2*x^2 + ... + an*x^n其中a0, a1, ..., an是待确定的系数。

MATLAB上机实验实验报告

MATLAB上机实验实验报告

MATLAB上机实验实验报告实验名称:用MATLAB实现多项式拟合及插值一、实验目的:通过使用MATLAB实现多项式拟合及插值的方法,掌握MATLAB软件的基本操作和函数应用,进一步了解多项式拟合及插值的原理和实现过程。

二、实验原理:多项式拟合及插值是一种常见的数值分析方法,通过对已知数据点集合的拟合或插值,构造出一个多项式函数,用于近似表示原始数据。

1.多项式拟合:通过最小二乘法原理,选择一个合适的多项式函数,使得拟合出的多项式与已知数据点之间的误差最小。

拟合函数可以是一次、二次或高阶多项式。

2.多项式插值:通过已知数据点的横纵坐标值,构造一个满足这些点的多项式函数。

插值函数可以是一次、二次或高阶多项式。

插值函数经过每个已知数据点。

三、实验步骤:1.数据准备:选择一组已知数据,包含横纵坐标值。

数据点的个数可以根据具体情况自行确定。

2.多项式拟合:使用MATLAB中的polyfit函数,根据已知数据点进行多项式拟合。

根据拟合结果,获取拟合的多项式系数。

3.多项式插值:使用MATLAB中的polyfit函数,根据已知数据点进行多项式插值。

通过plot函数绘制原始数据点的散点图和插值多项式的曲线图。

可以尝试不同阶数的多项式插值。

4.结果分析:根据实验结果,分析拟合与插值的效果。

对比拟合结果与原始数据的误差大小,评估拟合的准确性。

对比插值结果与原始数据的差异,评估插值的精确度。

五、实验总结:通过这次实验,我熟练掌握了使用MATLAB实现多项式拟合及插值的方法。

在实验中,我了解了多项式拟合的原理,以及如何利用最小二乘法求取多项式拟合的系数。

同时,我也学会了如何使用MATLAB中的polyfit函数实现多项式拟合和插值。

通过实验结果的分析,我对拟合和插值的实际应用和效果有了更加深入的认识。

[1]MATLAB官方文档[2]高等数值分析教程以上为MATLAB上机实验实验报告,共计1200字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验6 数据拟合&插值
一.实验目的
学会MATLAB软件中软件拟合与插值运算的方法。

二.实验内容与要求
在生产和科学实验中,自变量x与因变量y=f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。

当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

要根据观测点的值,构造一个比较简单的函数y=t (x),使函数在观测点的值等于已知的数值或导数值,寻找这样的函数t(x),办法是很多的。

根据测量数据的类型有如下两种处理观测数据的方法。

(1)测量值是准确的,没有误差,一般用插值。

(2)测量值与真实值有误差,一般用曲线拟合。

MATLAB中提供了众多的数据处理命令,有插值命令,拟合命令。

1.曲线拟合
>> x=[0.5,1.0,1.5,2.0,2.5,3.0];
>> y=[1.75,2.45,3.81,4.80,7.00,8.60];
>> p=polyfit (x,y,2);
>> x1=0.5:0.05:3.0;
>> y1=polyval(p,x1 );
>> plot(x,y,'*r',x1,y1,'-b')
2.一维插值
>> year=[1900,1910,1920,1930,1940,1990,2000,2010];
>> product = [75.995,91.972,105.711,123.203,131.669,249.633,256.344,267.893 ]; >> p2005=interp1(year,product,2005)
p2005 =
262.1185
>> y= interp1(year,product,x, 'cubic');
>> plot(year,product,'o',x,y)
3.二维插值
>> years=1950:10:1990;
>> service=10:10:30;
>>
wage=[150.697,199.592,187.625;179.323,195.072,250.287;203.212,179.092,322.767;226.505,15 3.706,426.730;249.636,120.281,598.243];
>> w=interp2(service,years,wage,15,1975)
w =
190.6288
[例1.98]
x=1:6;y=1:4;
t=[12,10,11,11,13,15;16,22,28,35,27,20;18,21,26,32,28,25;20,25,30,33,32,30];
subplot(1,2,1)
mesh(x,y,t)
x1=1:0.1:6;
y1=1:0.1:4;
[x2,y2]=meshgrid(x1,y1);
t1=interp2(x,y,t,x2,y2,'cubic');
subplot(1,2,2)
mesh(x1,y1,t1)
三,练习与思考
1)已知x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3],y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5],求对x和y进行6阶多项式拟合的系数.
x=[1.2,1.8,2.1,2.4,2.6,3.0,3.3];
y=[4.85,5.2,5.6,6.2,6.5,7.0,7.5];
>> p=polyfit(x,y,6)
p =
-2.0107 29.0005 -170.6763 523.2180 -878.3092 763.9307 -263.4667
x1=0.5:0.05:3.0;
>> y1=polyval(p,x1);
>> plot(x,y,'*r',x1,y1,'-b')
2)分别用2,3,4,5阶多项式来逼近[0,3]上的正弦函数sin x,并做出拟合曲线及sin x函数曲线图,了解多项式的逼近程度和有效拟合区间随多项式的阶数有何变化.
(2)
2阶:
>> x=0:0.01:3;
>> y=sin(x);
>> p=polyfit(x,y,2);
>> x1=0:0.01:3;
>> y1=polyval(p,x1);
>> plot(x,y,'*r',x1,y1,'-b')
>>
3阶:
>> p=polyfit(x,y,3); >> x1=0:0.01:3;
>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>
4阶:
>> p=polyfit(x,y,4); >> x1=0:0.01:3;
>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>
5阶:
>> p=polyfit(x,y,5); >> x1=0:0.01:3;
>> y1=polyval(p,x1); >> plot(x,y,'*r',x1,y1,'-b') >>
3)已知x=[0.1,0.8,1.3,1.9,2.5,3.1],y=[1.2,1.6,2.7,2.0,1.3,0.5],用不同的方法求x=2点的插值,并分析所得结果有何不同.
>> x=[0.1,0.8,1.3,1.9,2.5,3.1];y=[1.2,1.6,2.7,2.0,1.3,0.5];
>> p=interp1(x,y,2)
p =
1.8833
>> x=[0.1,0.8,1.3,1.9,2.5,3.1];
y=[1.2,1.6,2.7,2.0,1.3,0.5];
>> z=interp1(x,y,2,'cubic')
z =
1.8844
四,提高内容
1.三维数据插值
[x,y,z,v]=flow(20);
[xx,yy,zz]=meshgrid(0.1:0.25:10,-3:0.25:3,-3:0.25:3); vv=interp3(x,y,z,v,xx,yy,zz);
slice(xx,yy,zz,vv,[6,9.5],[1,2],[-2,0.2]);
shading interp
colormap cool
3.三次样条数据插值
x=[0 2 4 5 6 12 12.8 17.2 19.9 20];
y=exp(x).*sin(x);
xx=0:.25:20;
yy=spline(x,y,xx);
plot(x,y,'o',xx,yy)。

相关文档
最新文档