matlab lookup table使用方法

目录

  • 引入lookup table模块
  • 一维数组
  • 二位数组
  • 配置含义
    • Interpolation内插法
      • flat
      • nearest
      • Linear
      • cubic spline
    • Extrapolation外推法
      • clip
      • linear
      • cubic spline

引入lookup table模块

在lookup tables的库里找到需要的模块

一维数组

双击模块,设置table data和break points;
如果以坐标轴来理解,则break points是X轴,table data是Y轴;
以下图为例:若输入为2则输出为3;

备注:若输入为不等间距数值则采用lookup table dynamic模块。xdata、ydata的输入应连接到数组,且xdata的数组应该是由大到小或由小到大顺序排列;输入可

二位数组

设置同一维数组

用m语言查看数组在坐标轴的含义:

arry = [4 7 6 8;12 14 20 25;10 18 23 29];
mesh(arry);

坐标轴如下:

配置含义


1维与2维配置项相同。以下以1维为例
一维数组设定为[1 3 8 10 11 14 13 10 9 4]

Interpolation内插法

若输入在定义范围内,但不在采样点上,采用的拟合方法

flat


水平折线。
按照区间进行取值,若输入在[1,2)输出1,在[2,3)输出3…
若内插定义为flat,则外推自动定义为clip,即输入若小于定义的最小值按照最小值的输入输出数据,若输入大于定义的最大值则输出定义的最大值输出数据。
以上为例:若输小于1,则输出1,若输入大于10则输出4;

nearest


四舍五入版的水平折线法,输入超范围同flat。
若输入为1.4显示1,若为1.5输出3。

Linear


线性拟合,拟合方式由图可知。是最常用的拟合方式。

cubic spline


三次样条插值:一维数组不同插值法区别

%采样点
x=[0:5];
y=[4,1.5,0,1,5,8.6];
%更细分采样点
xq = 0:0.25:5;
figure(1)
plot(x,y);
figure(2)
vq1 = interp1(x,y,xq,'linear');
plot(x,y,'o',xq,vq1,':.');
title('(Default) Linear Interpolation');
figure(3)
vq2 = interp1(x,y,xq,'spline');
plot(x,y,'o',xq,vq2,':.');
title('Spline Interpolation');
figure(4)
vq3 = interp1(x,y,xq,'pchip');
plot(x,y,'o',xq,vq3,':.');
title('cubic Interpolation');

二维数组区别:
请看大佬资料:https://blog.csdn.net/qq_27595745/article/details/129435667
此文还写出了常用的拟合方法最小二乘法Generalized least squares (GLS)的脚本
另一篇大佬资料:https://www.shuzhiduo.com/A/n2d9j0G6zD/

Extrapolation外推法

若输入不在定义范围内的采用的拟合方法

clip

禁用外推,之内处理定义范围内的数值

linear

线性外推

cubic spline

三次样条插值,同上

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年12月22日
下一篇 2023年12月22日

相关推荐