Matlab 数据 预处理(1)——插值

写在前面的话:拿到每一份数据时请认真思考我们应该做些什么怎么做?

在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。因此数据的预处理也就变得格外重要!

首先,需要明白插值问题和拟合的区别和联系

  • 联系
    虽然两者都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。
  • 区别
    拟合需要得到近似函数表达式,而插值问题仅需要通过插值方法找到未知点的对应值

一维插值

例 1 :通过温度计我们测得大连某天01:00至12:00温度如下表(一小时一测);试估计每隔15分钟的温度值。
大连气温
Matlab代码:

hours=1:12;
temps=[28 27 26 26 25 27 28 28 30 30 32 34];
h=1:0.25:12;
%插值(插值方法有:'nearest'最近邻插值;'linear'线性插值;
%'spline'三次样条插值;'cubic'立方插值);缺省时 分段线性插值
t=interp1(hours,temps,h,'spline');
%作图
plot(hours,temps,'+',h,t,hours,temps,'r:');
xlabel('Hour'),ylabel('Degrees Celslus');

气温插值结果

网格节点数据的插值

我们测得一4x5网格点处水域水深情况如下表(单位:英尺),试作出区域内水深的分布曲面 H=f(x,y) 的图形。注:1 英尺 = 0.3048 米
水深分布
Matlab 代码:

x=1:5;
y=1:4;
depth=[68 89 67 79 67
    57 71 86 77 63
    76 69 78 70 78
    69 79 85 65 81];
mesh(x,y,depth)
%[xi,yi] = meshgrid(0:0.1:5);%注意使用meshgrid时要矩阵输入
%surf要求维度一致
xi=1:0.2:5;
yi=1:0.2:4;
[xi,yi]=meshgrid(xi,yi);
Hi=interp2(x,y,depth,xi,yi,'cubic');%插值方法有:‘nearest’最邻近插值 ‘linear’双线性插值 ‘cubic’双三次插值 注:缺省时 双线性插值
mesh(Hi,yi,zi);

结果:
运行结果
散点数据的插值计算
我国东部和南部大陆海岸线1.8万多千米,拥有丰富的海洋资源和便利的海运条件;在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(-75,175)×(-50,150)里的哪些地方船要避免进入。

Matlab 代码

x=[ 140 103.5 88 185.5 195 105 157.5 107.5 77 81 162 162 117.5];
y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -33.5];
z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9];
x1=75:1:200;
y1=-50:1:150;
[x1,y1]=meshgrid(x1,y1);
z1=griddata(x,y,z,x1,y1,'v4');%插值方法:‘nearest’最邻近插值 ‘linear’双线性插值 ‘cubic’双三此插值 ‘v4’Matlab提供的插值方法
subplot(121);
meshc(x1,y1,z1);
%set(gca,'zdir','reverse');% set 的使用是为了调整坐标轴,以便于我们更好的进行分析
%筛选出需要规避的范围范围
z1(z1>=5)=nan;
subplot(122);
meshc(x1,y1,z1);
%set(gca,'zdir','reverse');%

结果
深度分布及规避范围
若使用 set 结果如下:
使用set改变Z轴方向后

最后 给出Matlab对set的使用介绍!

希望大家有所收获!

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值