I want to draw an arrow in vector.

102 views (last 30 days)
Muhendisleksi
Muhendisleksi on 9 Oct 2017
Answered: Matevz Lavtar on 14 Nov 2020
Q = [0,977 -0,016
-0,016 0,176];
p1 = [0.977 -0.016]; %Coordinate of the first point
p2 =[-0.016 0.176]; % Coordinate of the second point
The start and end points of the arrow are as above. How can I draw a vector arrow with these points?

Answers (5)

Matevz Lavtar
Matevz Lavtar on 14 Nov 2020
I have the same problem, so I make a function that solve this problem I think.
Example what can you do with it:
Hope it helps you

Jan
Jan on 9 Oct 2017
  2 Comments
Muhendisleksi
Muhendisleksi on 9 Oct 2017
I checked all of them. But I could not find what I wanted.
Jan
Jan on 9 Oct 2017
Edited: Jan on 9 Oct 2017
If you explain exactly, what you want, it is possible for the readers to give any specific suggestions. The information, that the dozens of existing implementations do not satisfy your needs, does not allow for further help.

Sign in to comment.


Star Strider
Star Strider on 9 Oct 2017
Edited: Star Strider on 9 Oct 2017
One option is the quiver plot:
Q = [0.977 -0.016
-0.016 0.176];
QX = Q(:,1); % Isolate Line ‘x’ Coordinates
QY = Q(:,2); % Isolate Line ‘y’ Coordinates
[~,UV] = gradient(Q); % Generate Gradient
UVX = [UV(1,1); 0]; % Define Quiver Arrow ‘x’
UVY = [UV(1,2); 0]; % Define Quiver Arrow ‘y’
figure(1)
% plot(QX, QY, '-r', 'LineWidth',1.2) % Plot Line (Optional)
hold on
quiver(QX, QY, UVX, UVY, 0)
hold off
axis([-0.15 1.1 -0.15 0.2])
axis equal
grid
EDIT Added axis calls to the plot.

Martin Meiringer
Martin Meiringer on 12 Dec 2017
Is there a reason why this functionality is still not built in? Using file exchange functions is always a bit difficult if you are sharing your work with colleagues. so please, Mathworks do a arrow / arrow3 function!!!
  2 Comments
Star Strider
Star Strider on 12 Dec 2017
Submit an Enhandement Request at Contact Us (link).
MrKnudsen
MrKnudsen on 29 Apr 2020
Will my proposal further down work for you?

Sign in to comment.


MrKnudsen
MrKnudsen on 29 Apr 2020
I think this hack might be useful:
figure()
hold on; grid on;
a1 = 1j+1;
a2 = -1;
a3 = -1j;
a4 = 0.5 -0.5j;
compass(a1,'r');
compass(a2,'g');
compass(a3,'b');
compass(a4,'y');

Categories

Find more on Vector Fields in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!