2017-01-10 1 views
0

У меня есть два вектора столбца и матрица с согласованными размерами: размер (x (:) = 3001 x 1, размер (y (:)) = 28 x 1, размер (z) = 3001 х 28.Ошибка horzcat с поверхностным подключением Matlab

Я пытаюсь сделать поверхность прилегание линии:

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

и получить ошибку horzcat (размеры матриц, сцеплены не соответствуют) конечно х и у имеют. разное количество строк, но я не хочу их конкатенировать. По-моему, я использовал правильный синтаксис для поверхностного монтажа в matlab R2015a. Я успешно установил поверхность с помощью инструментария.

+0

этом создает матрицу 28 х 3001. Должен ли я передать функцию соответствия двух столбчатых векторов? – user3648565

ответ

1

вам может понадобиться meshgrid. Вам нужна такая же сумма x и y, как и у вас z.

, если они равномерно распределены (я предполагаю, что, в противном случае вам не хватает информации), то meshgrid будет решить, как:

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

Это не привело к каким-либо ошибкам, но это не привело к правильной посадке. Обходной путь заключается в том, чтобы сохранить подгонку из панели инструментов. Соответствует ли z z квадратной матрицей для поверхностей? – user3648565

+0

'fit' требует набора точек' p = [x, y, z] 'для соответствия. Смысл, ему нужно, чтобы каждое значение 'z' имело' x' и 'y' –

Смежные вопросы