Determining whether an angle is between two other angles
2 次查看(过去 30 天)
显示 更早的评论
I have 3 angles given: gamma1 and gamma2 can attain any value between -360° and 720°, az_ray can attain any value between 0° and 360°.
I would like to check whether az_ray is between those two, and return RayCat(j) = 1 if so. My try would be
if gamma1 < 0
gamma1 = gamma1+360;
end
if gamma1 > 360
gamma1 = gamma1-360;
end
if gamma2 < 0
gamma2 = gamma2+360;
end
if gamma2 > 360
gamma2 = gamma2-360;
end
if gamma1 < gamma2
if (gamma1 <= az_ray) && (az_ray <=gamma2)
RayCat(j) = 1;
else
RayCat(j) = 0;
end
end
if gamma1 > gamma2
if (gamma2 <= az_ray) && (az_ray <=gamma1)
RayCat(j) = 1;
else
RayCat(j) = 0;
end
end
However, this usually works fine but fails for negative values, since it switches the "in- and outside" of the gammas. How can I avoid this or is there a smoother option?
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Gamma Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!