我是靠谱客的博主 现实衬衫,最近开发中收集的这篇文章主要介绍MATLAB----数据插值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本篇参考于:中国大学慕课,专题五,“5.3数据插值”

1.一维数据插值interp1()

2.二维数据插值interp2()

1.一维数据插值

调用格式:interp1(X,Y,X1.method)。根据X,Y的值,计算函数在X1处的值。其中X,Y为已知的等长向量,分别表示采样点和采样点的值,X1表示一个标量或向量,表示要插值的点。

method插值方法:

linear线性插值,默认插值方法

nearest最近点插值,插值点为后一个相邻点的函数值

pchip分段三次埃尔米特插值。插值较为光滑,具有保形性,即极值在插值后仍然为极值

spline三次样条插值。插值结果最光滑,函数性态最好

2.二维数据插值

调用格式interp2(X,Y,Z,X1,Y1,method)。其中,X,Y是两个向量,表示两个参数的采样点,Z是对应采样点的函数值。X1、Y1是两个标量或者向量,表示要插值的点。Method于interp1相同,但interp2没有pchip方法。

eg.一维函数插值例题

%零件加工问题
x=[0,3,5,7,9,11,12,13,14,15]
y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6]
x1=0:0.1:15
subplot(2,2,1)
y1=interp1(x,y,x1,'linear')%线性插值
plot(x1,y1)
title('linear')
subplot(2,2,2)
y2=interp1(x,y,x1,'nearest')%最邻近插值
plot(x1,y2)
title('nearest')
subplot(2,2,3)
y3=interp1(x,y,x1,'pchip')%埃尔米特插值
plot(x1,y3)
title('pchip')
subplot(2,2,4)
y4=interp1(x,y,x1,'spline')%三次样条插值
plot(x1,y4)
title('spline')

 

eg.二维函数插值例题



x=20:10:90
y=(0:5:20)'%生成列向量,由行向量转置而成
z=[8.9,10.32,11.3,12.5,13.9,15.3,17.8,21.3;8.7,10.8,11,12.1,13.2,14.8,16.55,20.8;...
    8.3,9.65,10.88,12,13.2,14.6,16.4,20.5;8.1,9.4,10.7,11.9,13.1,14.5,16.2,20.3;...
    8.1,9.2,10.8,12,13.2,14.8,16.9,20.9]%要与维度对应!!!
x1=20:90
y1=(0:20)'%生成列向量,由行向量转置而成
z1=interp2(x,y,z,x1,y1,'spline')
surf(x1,y1,z1)

 

最后

以上就是现实衬衫为你收集整理的MATLAB----数据插值的全部内容,希望文章能够帮你解决MATLAB----数据插值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部