I want to draw an arrow in vector.
103 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(5 个)
Matevz Lavtar
2020-11-14
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 个评论
Star Strider
2017-10-9
编辑:Star Strider
2017-10-9
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 个评论
Martin Meiringer
2017-12-12
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 个评论
MrKnudsen
2020-4-29
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Vector Fields 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!