how can i determine angle between 2 variables

3 views (last 30 days)
how can i do/calculate the angle like in the ss below ,i know rBx,rBy and g
g=180/pi;
teta1=300;teta2=320;teta3=40;teta4=100;teta5=160; % in degrees
Alfa=deg2rad(teta1/g);aLfa=deg2rad(teta2/g); alFa=deg2rad(teta3/g);alfA=deg2rad(teta4/g);alfa=deg2rad(teta5/g);
rBx=-1*(r1*cos(Alfa)+r2*cos(aLfa)+r3*cos(alFa)+r4*cos(alfA)+r5*cos(alfa)+rAx)
rBy=-1*(r1*sin(Alfa)+r2*sin(aLfa)+r3*sin(alFa)+r4*sin(alfA)+r5*sin(alfa)+rAy)
  2 Comments
Opariuc Andrei
Opariuc Andrei on 5 Jan 2021
Edited: Opariuc Andrei on 5 Jan 2021
i knew about atan2 and i tried it before i posted but it did not gave the correct answear , i did a backtrace from the course pdf and got everything right/ identical up until alfaBg or where i'm supposed to do/find angle
%% input
%% values r, values z, values alfa_gi
r1=154; z1=30; ag1=267;
r2=122; z2=68; ag2=325;
r3=63; z3=105; ag3=49;
r4=68; z4=144; ag4=118;
r5=126; z5=188; ag5=180;
zA=226;
%% calculus
g=180/pi;
alfa1=ag1/g;
alfa2=ag2/g;
alfa3=ag3/g;
alfa4=ag4/g;
alfa5=ag5/g;
%% rAx si rAy
disp("rAx si rAy")
rAx=(-1)*(r1*z1*cos(alfa1)+r2*z2*cos(alfa2)+r3*z3*cos(alfa3)+r4*z4*cos(alfa4)+r5*z5*cos(alfa5))/zA
rAy=(-1)*(r1*z1*sin(alfa1)+r2*z2*sin(alfa2)+r3*z3*sin(alfa3)+r4*z4*sin(alfa4)+r5*z5*sin(alfa5))/zA
rA=sqrt(rAx^2+rAy^2) which results in 79.234 like in my pdf (value i'm supposed to get) but when i applied atan2(rAx,rAy)*g i was supposed to get the value in the ss 346.217
but instead i got alfa_A_g =103.7827 , i also tried doing deg2rad and rad2deg(atan2(...)) and didn't get the desired result

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 5 Jan 2021
You got the order of the inputs incorrect. It should be
atan2(rAy,rAx)*g
This will give a negative answer, measuring the angle "down" from the x-axis. If you add 360deg, you'll get the answer you want.

Tags

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!