Я пытаюсь использовать Matlab для некоторых данных. В частности, мне нужно построить ряд строк, несколько раз приписанных к нему двух точек, несколько раз заданных ортогональным вектором.Matlab расширяет график по всему диапазону осей
Я использовал следующее, чтобы получить участок линии:
линии заданы две точки
A = [A(1), A(2)] B = [B(1), B(2)]
:plot([A(1),B(1)],[A(2),B(2)])
Line данный вектор
W = [W(1), W(2)]'
:if(W(1) == 0) plot([W(1), rand(1)] ,[W(2), W(2)]) else plot([W(1), W(1) + (W(2)^2/W(1))],[W(2),0]) end
где я вычисляю пересечение между x-axi s и линии, используя вторую теорему Евклида о прямоугольнике треугольника, образованном вектором W и линией.
Моя проблема, как вы можете видеть на картинке выше, что линия будет построена только между двумя точками, а не на всем диапазоне моей оси.
У меня 2 вопроса:
- Как я могу иметь линию, идущую через весь диапазон оси?
- Есть ли более простой и прямой способ (возможно, функция?) Для построения линии, перпендикулярной вектору? (Более простой и более чистый способ решения пункта 2 выше.)
Заранее благодарен.
, если у вас есть две оценки на линии, вы всегда можете использовать 'interp1' или другой интерполяции функции для получения значения вне/внутри ваши границы – MZimmerman6
@ MZimmerman6 - Thks для комментария, но я ничего не понимаю: мне не нужно их интерполировать, потому что у меня есть уравнение линии, поэтому я могу знать его значение на всей оси, я просто нужно запечатлеть это ... любая идея для этого? – Matteo