引入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
线性外推文章来源:https://www.toymoban.com/news/detail-451863.html
cubic spline
三次样条插值,同上文章来源地址https://www.toymoban.com/news/detail-451863.html
到了这里,关于matlab lookup table使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!