这个例子展示了如何使用归一化来改善离散数据的插值结果griddata
。归一化在某些情况下可以改善插值结果,但在其他情况下,它会降低求解的准确性。是否使用归一化是根据被插值数据的性质做出的判断。
好处:当独立变量有不同的单位和本质上不同的尺度时,对数据进行归一化可以潜在地改善插值结果。在这种情况下,将输入缩放到类似的大小可能会改善插值的数值方面。规范化会带来好处的一个例子是x
代表从500到3500的RPMS中的发动机速度,y
表示从0到1的引擎负载。的尺度x
和y
差别只有几个数量级,它们有不同的单位。
注意事项:如果独立变量具有相同的单位,即使变量的比例不同,在规范化数据时也要小心。对于相同单位的数据,归一化通过增加方向偏差扭曲了解决方案,这影响了基础三角测量,并最终损害了插值的准确性。一个例子说明规范化是错误的,如果两者都是x
和y
表示位置,单位为米。扩展x
和y
由于正东10米与正北10米在空间上是相同的,因此不推荐使用不均匀。
创建一些示例数据,其中的值y
几个数量级是不是比里面的数量级大x
。假设x
和y
有不同的单位。
x =兰特(1,500)/ 100;Y = 2。*(兰特(1,500)-0.5)。* 90;z =(x。* 1e2)。^ 2;
使用示例数据构建一个查询点网格。在网格上插入样本数据并绘制结果。
X = linspace (min (X)、马克斯(X), 25);Y = linspace (min (Y), max (Y), 25);[xq, yq] = meshgrid(X,Y);zq = griddata (x, y, z, xq yq);plot3 (x, y, z,“莫”)举行在网格(xq, yq zq)包含(“x”) ylabel (“y”)举行从
由griddata
不是很光滑,而且似乎很吵。不同的自变量的尺度导致了这一点,因为一个变量大小的微小变化可能导致另一个变量大小的大得多的变化。
自x
和y
使用不同的单位,将它们标准化,使它们具有相似的大小,应该有助于产生更好的结果。使用方法对样本点进行归一化z-分数和再生插值使用griddata
。
采样点归一化x =正常化(x);y =正常化(y);%重新生成网格X = linspace (min (X)、马克斯(X), 25);Y = linspace (min (Y), max (Y), 25);[xq, yq] = meshgrid(X,Y);%插值和绘图zq = griddata (x, y, z, xq yq);plot3 (x, y, z,“莫”)举行在网格(XQ,YQ,ZQ)
在这种情况下,将样本点归一化是允许的griddata
计算一个更平滑的解。