matlab实现插值

插值是在已知数据点的基础上添加新数据点的方法,可以用于估测缺失数据、将已知数据平滑链接等效果。下文讲解基于matlab实现插值。

  • 一维插值
    % 一维插值
    clc;clear all;
    y=[0.31472 0.84549 0.98429 0.81619 0.51237];
    x=[1 2 3 4 5];
    x1=0:0.1:5;
    y1=interp1(x,y,x1,'spline');
    plot(x1,y1);

    matlab实现插值_第1张图片
    1、y1=interp1(x,y,x1,'method') 使用线性插值返回一维函数在特定查询点的插入值。向量 x包含样本点,y包含对应值 y(x),x1声明插值范围。向量 y1包含查询点的坐标。
    2、'method'可以选择不同的插值方法,可选参数为:'linear''nearest''next''previous''pchip''cubic''v5cubic''makima' 或 'spline'。默认方法为 'linear'

  • 二维插值

    % 二维插值
    clc;clear all;
    x=[123 55 89 84 56 54 100];
    y=[2 5 8 9 10 16 15];
    z=[165 654 852 254 0 456 251];
    x1=50:0.1:150;
    y1=0:0.1:20;
    [x1,y1]=meshgrid(x1,y1);
    z1=griddata(x,y,z,x1,y1,'v4');
    meshc(x1,y1,z1);

    matlab实现插值_第2张图片
    1、[x1,y1]=meshgrid(x1,y1) 基于向量 x 和 y 中包含的坐标返回二维网格坐标。
    2、 z1=griddata(x,y,z,x1,y1,'method') 使z = f(x,y) 形式的曲面与向量 (x,y,v) 中的散点数据拟合。griddata 函数在 (x1,y1) 指定的查询点对曲面进行插值并返回插入的值 z1。曲面始终穿过 x 和 y 定义的数据点。
    3、'method'可以选择不同的插值方法,可选参数为:'linear''nearest''natural''cubic' 或 'v4'。默认方法为 'linear'

你可能感兴趣的:(matlab)