表面拟合 Matlab 的 horzcat 错误

horzcat error with surface fitting Matlab

我有两个列向量和一个维度一致的矩阵:size(x(:) = 3001 x 1, size(y(:)) = 28 x 1, size(z) = 3001 x 28。

我正在尝试对线进行表面拟合:

sf = fit([x, y] , z, 'linearinterp');

并得到 horzcat 错误(连接矩阵的维数不一致)。当然 x 和 y 有不同的行数,但我不想连接它们。我相信我在 matlab R2015a 中使用了正确的曲面拟合语法。我已经成功地使用工具箱安装了曲面。

您可能需要 meshgrid。您需要与 z.

相同数量的 xy

如果它们有规律地间隔(我假设,否则你会丢失信息),那么 meshgrid 将解决它:

[xmesh, ymesh]=meshgrid(x,y)
sf =  fit([xmeshx(:), ymesh(:)] , z(:), 'linearinterp');