【Matlab编程】新手入门第十天


前言

数据分析和处理在各个领域有着广泛的应用,尤其是在数学、物理等科学领域和工作领域的实际应用中,会经常遇到数据分析的情况。例如,在工程领域根据有限的已知数据对未知数据进行推测时经常用到数据插值和拟合,在信号工程领域则经常需要用到傅里叶变换工具。
在这里插入图片描述


1.插值

插值是指在所给的基准数据情况下,研究如何平滑地估算出基准数据之间的其他函数数值。每当其他函数值获取的代价比较高时,插值就会发挥作用。在MATLAB中,提供了很多插值函数。

1.1一维插值命令及实例

一维插值是进行数据分析的重要方法,在MATLAB中一维插值有基于多项式的插值和基于快速傅里叶的插值两种类型。一维插值就是对一维函数y=f(x)进行插值,采用函数interp1()实现。该函数使用多项式技术,用多项式函数通过提供的数据点来计算目标插值点上的插值函数值,该命令对数据点之间计算内插值。调用如下:yi=interp1(x,Y,xi):返回插值向量yi,每一元素对应参量xi,同时由向量x和Y的内插值决定。参量x指定数据Y的点。
yi=interp1(Y,xi):假定x=1:N,N为向量Y的长度,或为矩阵Y的行数。
yi=interp1(x,Y,xi,method):用指定的算法计算插值。一维插值可以采用的方法如下:
(1)临近点插值
设置method=’nearest’会对插值点的数采用四舍五入的方法,对超出范围的点将返回一个NaN。
(2)线性插值
设置method=’linear’采用直线连接相邻的两点,对超出范围的点将返回一个NaN。
(3)三次样条插值
设置method=’spline’采用三次样条函数来获得插值点。
(4)分段三次Hermite插值
设置method=’pchip’
(5)三次多项式插值
设置method=’cubic’与分段三次Hermite插值相同
已知当x=0:0.3:3时,函数y=(x.^2-4x+2)*sinx的值,对xi=0:0.01:3采用不同的方法进行插值。
实现代码如下:

clear all
clc
x=0:0.3:3;						%原始数据
y=(x.^2-4*x+2).*sin(x);
xi=0:0.01:3;						%插值数据
yi_nearest=interp1(x,y,xi,'nearest');				%临近点插值
yi_linear=interp1(x,y,xi);					%系统默认为线性插值
yi_spline=interp1(x,y,xi,'spline');				%三次样条插值
yi_pchip=interp1(x,y,xi,'pchip');				%分段三次Hermite插值
yi_v5cubic=interp1(x,y,xi,'v5cubic');		%三次多项式插值
figure;									%数据显示
hold on;
subplot(231);
plot(x,y,'ro');									%绘制原始数据点
title('原始数据');
subplot(232);
plot(x,y,'ro',xi,yi_nearest,'b-');							%绘制临近点插值的结果
title(
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值