Как добавить стрелки на линейные графики в Matlab? - PullRequest
6 голосов
/ 30 сентября 2010

Я хотел бы добавить стрелки к графику линии в Matlab для иллюстрации потока. Стрелки в идеале должны быть на линии, указывающей в направлении линии. Возможно ли это?

Ответы [ 5 ]

5 голосов
/ 17 октября 2011

Чтобы нарисовать стрелку в Matlab, используйте бесплатный пакет обмена файлами под названием arrow.m

3 голосов
/ 30 сентября 2010

Другой способ - использовать отличную отправку в FileExchange - ARROW.M

См. Также другие связанные вопросы по SO:

1 голос
/ 30 сентября 2010

Если я правильно понял, вы пытаетесь просмотреть векторное поле? Если это так, вот рабочий пример:

%# function: f(x,y)=x^3-2y^2-3x over x=[-2,2], y=[-1,1]
[X Y] = meshgrid(-2:.1:2, -1:.1:1);
Z = X.^3 -2*Y.^2 -3*X;

%# gradient of f
[dX dY] = gradient(Z, .1, .1);

%# plot the vector field and contour levels
figure, hold on
quiver(X, Y, dX, dY)
contour(X, Y, Z, 10)
axis equal, axis([-2 2 -1 1])
hold off

%# plot surface
figure, surfc(X, Y, Z)
view(3)

vector field saddle surface

1 голос
/ 30 сентября 2010

Функция колчана должна быть в состоянии делать то, что вы хотите. Однако вам придется самостоятельно рассчитать направление стрелки.

Что-то вроде этого ужасно, но вам следует начать (но вы, вероятно, хотите нормализовать вектор направления, чтобы получить более хороший график)

plot(x,y)
hold on
quiver(x(1:end-1),  y(1:end-1), ones(len(x)-1,1), y(2:end) - y(1:end-1))
0 голосов
/ 11 февраля 2016

Вы можете добавить стрелку к фигуре, используя функцию annotation.

Обратите внимание, что родительским объектом объекта являются не оси, а само окно фигуры (это означает, что при увеличении / уменьшении стрелка остается в том же месте в окне фигуры).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...