Rotating a Vector
52 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
採用された回答
Andrei Bobrov
2011 年 7 月 8 日
complex
vR = v*[1;1i]*exp(-1i*theta*pi/180)
2 件のコメント
James Tursa
2020 年 4 月 16 日
real(vR) are the x components of the vectors, and imag(vR) are the y components of the vectors.
その他の回答 (3 件)
Sean de Wolski
2011 年 7 月 8 日
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
2018 年 12 月 26 日
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](https://www.mathworks.com/matlabcentral/answers/uploaded_files/199781/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 件のコメント
Adam Danz
2020 年 4 月 16 日
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
2019 年 1 月 11 日
Have you solved this problem? I met this problem, too.
1 件のコメント
Sayyed Ahmad Khadem
2019 年 1 月 11 日
Hi Wenhao,
No one has suggested a viable approach yet ! :-( I am still struggling !
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!