表面拟合 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
.
相同数量的 x
和 y
如果它们有规律地间隔(我假设,否则你会丢失信息),那么 meshgrid
将解决它:
[xmesh, ymesh]=meshgrid(x,y)
sf = fit([xmeshx(:), ymesh(:)] , z(:), 'linearinterp');
我有两个列向量和一个维度一致的矩阵: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
.
x
和 y
如果它们有规律地间隔(我假设,否则你会丢失信息),那么 meshgrid
将解决它:
[xmesh, ymesh]=meshgrid(x,y)
sf = fit([xmeshx(:), ymesh(:)] , z(:), 'linearinterp');