Hello! I am wondering if anyone has an elegant way to rotate a vector by a specified degree.
For example, I have a vector that goes from (0,0) to (-1,-12). I want to rotate this vector by 5 degrees, incrementally until it reaches the x-axis.
Obviously this can be done from the math, but I wonder if anyone has a nicer way of doing this.
Thank you in advance!
Amina

 采纳的回答

complex
vR = v*[1;1i]*exp(-1i*theta*pi/180)

2 个评论

Very nice, thanks!
The only problem that I am having is using vR as it is a 1x1 element and therefore not in usual vector form. Is there a way that I can mash this into that form?
real(vR) are the x components of the vectors, and imag(vR) are the y components of the vectors.

请先登录,再进行评论。

更多回答(3 个)

Unless I'm missing something just use the rotation matrix:
v = [-1 -12];
theta = 5;
R = [cosd(theta) -sind(theta); sind(theta) cosd(theta)];
vR = v*R;
quiver(0,0,v(1),v(2))
hold on
quiver(0,0,vR(1),vR(2))
Sayyed Ahmad Khadem
Sayyed Ahmad Khadem 2018-12-26

0 个投票

Hi all,
I read this blog, and I have similar problem. I would be thankful to kindly give me some clues if you know.
Suppose that we have a vector field in y-x plane, let's consider following example:
Vector Field : Vf = [u, v]
u=x
v=y
Untitled.png
Now, I need to revolve the given vector field around the center of plot (i.e. [0 0]). Does anyone can provide some nice solution?
Thanks in advance,

1 个评论

You can use quiverRotate() from the file exchange.
You can flip the direction of the quiver arrows by using the quiver handle or by flipping the vector component prior to producing the quiver plot.
h = quiver(x,y,u,v);
quiverRotate(h)
% or
[Ur,Vr] = quiverRotate(u,v);
quiver(x,y,Ur,Vr)

请先登录,再进行评论。

wenhao li
wenhao li 2019-1-11

0 个投票

Have you solved this problem? I met this problem, too.

1 个评论

Hi Wenhao,
No one has suggested a viable approach yet ! :-( I am still struggling !

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Polar Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by