У меня есть матрица с n строками и 4 столбцами. Столбцы представляют собой x0, y0 и x1, y1 (так что в основном я имею n пар точечных координат в 2D). Я хочу нарисовать линию между соответствующими точками (т. Е. Только между x0, y0 и x1, y1 одной строки).Строки между точками в матрице в MATLAB
Можно ли это сделать без петли? Потому что следующее работает, но очень медленно.
for i = 1:size(A.data, 1)
plot([A.data(i, 1), A.data(i, 3)], [A.data(i, 2), A.data(i, 4)], 'k-')
end
Я не вижу, как это соответствует моей структуре данных. – pelesl
Ну, это просто показать использование. Линия векторизована и выводит строки в 2D без цикла for, что, как я думал, вы просили. Просто создайте 2 матрицы из столбцов ваших данных. X от 1-го и 3-го, Y от 2-го и 4-го. транспонируйте оба и вводите в линию. используйте дескриптор графика, если вы хотите манипулировать тем, как он отображается. – bogle
ОК, затем отредактируйте свой ответ; потому что использование может быть легко проверено с помощью документов. Мой вопрос был «как рисовать линии между соответствующими парами без цикла», а не «как рисовать линию». FYI «линия» может быть заменена «графиком» в вашем решении, что приятно. Тем не менее, обе версии довольно медленные и приводят к графикам, которые медленно реагируют (масштабирование и т. Д.). (Я имею дело с 1500 парами очков, я бы ожидал лучшего.) – pelesl