网格数据插值

您所在的位置:网站首页 网格仓适用范围 网格数据插值

网格数据插值

2023-12-05 03:39| 来源: 网络整理| 查看: 265

打开实时脚本

使用 griddedInterpolant 在相同的查询点上进行三组不同值插值。

使用 -5≤X≤5 和 -3≤Y≤3 创建一个采样点网格。

gx = -5:5; gy = -3:3; [X,Y] = ndgrid(gx,gy);

在查询点计算三个不同函数的值,然后将这些值串联成一个三维数组。V 的大小与前两个维度中的 X 和 Y 网格相同,但额外维度的大小反映与每个采样点相关联的值数目(在本例中为三个)。

f1 = X.^2 + Y.^2; f2 = X.^3 + Y.^3; f3 = X.^4 + Y.^4; V = cat(3,f1,f2,f3);

使用采样点和相关联的值创建插值。

F = griddedInterpolant(X,Y,V);

创建一个查询点网格,其网格大小比采样点更细。

qx = -5:0.4:5; qy = -3:0.4:3; [XQ,YQ] = ndgrid(qx,qy);

在查询点对所有三组值进行插值。

VQ = F(XQ,YQ);

将原始数据与插值后的结果进行比较。

tiledlayout(3,2) nexttile surf(X,Y,f1) title('f1') nexttile surf(XQ,YQ,VQ(:,:,1)) title('Interpolated f1') nexttile surf(X,Y,f2) title('f2') nexttile surf(XQ,YQ,VQ(:,:,2)) title('Interpolated f2') nexttile surf(X,Y,f3) title('f3') nexttile surf(XQ,YQ,VQ(:,:,3)) title('Interpolated f3')



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3