19.matlab数据分析插值(matlab程序)

1. 简述

数据插值的计算机制

数据插值是一种函数逼近的方法。

一维插值

Y1=interp1(X,Y,X1,method)

二维插值

interp2():二维插值函数。

调用格式:

Z1=interp2(X,Y,Z,X1,Y1,method)

其中,X、Y是两个向量,表示两个参数的采样点, Z是采样点对应的函数值。X1、 Y1是两个标量或向量,表示要插值的点。

数据插值的实现方法

method用于指定插值方法,常用的取值有以下四种:

linear: 线性插值,默认方法。将与插值点靠近的两个数据点用直线 连接,然后在直线上选取对应插值点的数据。

nearest :最近点插值。选择最近样本点的值作为插值数据。

pchip:分段3次埃尔米特插值。采用分段三次多项式,除满足插值条件,还需满足在若干节点处相邻段插值函数的一-阶导数相等,使得曲线光滑的同时,还具有保形性。

spline: 3次样条插值。每个分段内构造一个三次多项式, 使其插值函数除满足插值条件外,还要求在各节点处具有连续的一阶和二阶导数。

2. 代码

%% 学习目标:插值

%% 一维多项式插值

clc;

clear all;

x=0:0.2:2;

y=(x.^2-3*x+5).*exp(-3*x).*sin(x);

xi=0:0.03:2; %要插值的数据

yi_nearest=interp1(x,y,xi,'nearest'); %临近点插值

yi_linear=interp1(x,y,xi); %默认为线性插值

yi_spine=interp1(x,y,xi,'spine'); %三次样条插值

yi_pchip=interp1(x,y,xi,'pchip'); %分段三次Hermite插值

yi_v5cubic=interp1(x,y,xi,'v5cubic'); %MATLAB5中三次多项式插值

figure; %画图显示

hold on;

subplot(231);

plot(x,y,'ro');

title('已知数据点');

subplot(232);

plot(x,y,'ro',xi,yi_nearest,'b-');

title('临近点插值');

subplot(233);

plot(x,y,'ro',xi,yi_linear,'b-');

title('线性插值');

subplot(234);

plot(x,y,'ro',xi,yi_spine,'b-');

title('三次样条插值');

subplot(235);

plot(x,y,'ro',xi,yi_pchip,'b-');

title('分段三次Hermite插值');

subplot(236);

plot(x,y,'ro',xi,yi_v5cubic,'b-');

title('MATLAB5中三次多项式插值');

%% 采用一维快速傅立叶插值

clc;

clear all;

x=0:1.1:8;

y=sin(x);

n=2*length(x); %增采样1倍

yi=interpft(y,n);%采用一维快速傅立叶插值

xi=0:0.55:8.3;%要插值的数据

figure;%画图显示

hold on;

plot(x,y,'ro',xi,yi,'b-');

legend('原始数据','插值后结果');

%% 三次样条插值

clc;

clear all;

x=0:10;%原始数据

y=sin(x);

xi=0:.25:10;%插值数据

yi=spline(x,y,xi);%三次样条插值

pp=spline(x,y);%产生插值函数

y1=ppval(pp,xi); %结果相同y1=yi

y2=interp1(x,y,xi,'spline'); %结果相同y2=yi

figure;%画图显示

plot(x,y,'o',xi,yi);

legend('原始数据','三次样条插值');

3. 运行结果

相关推荐
HalvmånEver3 分钟前
红黑树实现与原理剖析(上篇):核心规则与插入平衡逻辑
数据结构·c++·学习·算法·红黑树
喜欢吃豆11 分钟前
一份面向研究人员的强化学习对齐指南:为自定义语言模型实施与评估 PPO 和 DPO
人工智能·语言模型·自然语言处理·架构·大模型
用户685453759776913 分钟前
🚀 Transformer:让AI变聪明的"读心术大师" | 从小白到入门的爆笑之旅
人工智能·后端
哆啦刘小洋18 分钟前
T:堆的基本介绍
算法
BreezeJuvenile20 分钟前
外设模块学习(5)——DS18B20温度传感器(STM32)
stm32·嵌入式硬件·学习·温度传感器·ds18b20
金井PRATHAMA21 分钟前
语义与认知中的循环解释悖论及其对人工智能自然语言处理深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
cimeo27 分钟前
【C学习】13-数组使用与运算
学习·c#
berryyan38 分钟前
Windows WSL 环境下配置 Claude Code 非官方账号2233.ai完整教程
人工智能·python
道传科技上位机43 分钟前
机器视觉九点标定(现场实用版)
人工智能·数码相机·计算机视觉
张较瘦_1 小时前
[论文阅读] AI | PynguinML——破解ML库自动化测试难题,覆盖率最高提升63.9%
论文阅读·人工智能