I want to draw an arrow in vector.
99 views (last 30 days)
Show older comments
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?
0 Comments
Answers (5)
Matevz Lavtar
on 14 Nov 2020
I have the same problem, so I make a function that solve this problem I think.
Here is a link to it: https://www.mathworks.com/matlabcentral/fileexchange/82665-plotting-vectors-with-arrow-head-pvec?s_tid=prof_contriblnk
Example what can you do with it:
Hope it helps you
0 Comments
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.
0 Comments
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
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');
0 Comments
See Also
Categories
Find more on Vector Fields in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!