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

这篇具有很好参考价值的文章主要介绍了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.代码

 文章来源地址https://www.toymoban.com/news/detail-603044.html

%%  学习目标:插值
%%   一维多项式插值

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.运行结果

19.matlab数据分析插值(matlab程序),matlab,数据分析,算法,开发语言,学习,机器学习,人工智能

 

19.matlab数据分析插值(matlab程序),matlab,数据分析,算法,开发语言,学习,机器学习,人工智能

 19.matlab数据分析插值(matlab程序),matlab,数据分析,算法,开发语言,学习,机器学习,人工智能

 

 

到了这里,关于19.matlab数据分析插值(matlab程序)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包