目录
  • matlab atan2函数解析
  • (Matlab反正切函数)atan和atan2的不同点
    • 1.atan(y/x)得到的角度只取决于正切值y/x
    • 2.atan2(y,x)得到的角度不仅取决于正切值y/x
    • 3.对比
    • 4.举例
  • 总结

    matlab atan2函数解析

    旁边的图片显示内容是:

    在一个单位圆内atan2函数在各点的取值。圆内标注代表各点的取值的幅度表示。  

    图片中,从最左端开始,角度的大小随着逆时针方向逐渐从-π增大到+π,并且角度大小在点位于最右端时,取值为0。  

    另外要注意的是,函数atan2(y,x)中参数的顺序是倒置的,atan2(y,x)计算的值相当于点(x,y)的角度值。  

    atan2(a,b)是4象限反正切,它的取值不仅取决于正切值a/b,还取决于点 (b, a) 落入哪个象限:  

    • 当点(b, a) 落入第一象限时,atan2(a,b)的范围是 0 ~ pi/2;  
    • 当点(b, a) 落入第二象限时,atan2(a,b)的范围是 pi/2 ~ pi;  
    • 当点(b, a) 落入第三象限时,atan2(a,b)的范围是 -pi~-pi/2;  
    • 当点(b, a) 落入第四象限时,atan2(a,b)的范围是 -pi/2~0

    (Matlab反正切函数)atan和atan2的不同点

    1.atan(y/x)得到的角度只取决于正切值y/x

    • 当 y/x > 0 时,atan(y/x)取值范围是 0 ~ π/2(第一象限)
    • 当 y/x < 0 时,atan(y/x)取值范围是 -π/2~0(第四象限)

    2.atan2(y,x)得到的角度不仅取决于正切值y/x

    还取决于点 (y,x) 所在的象限

    • 点(x,y) 在第一象限时,atan2(y,x)的范围是 0 ~ π/2
    • 点(x,y) 在第二象限时,atan2(y,x)的范围是 π/2 ~ π
    • 点(x,y) 在第三象限时,atan2(y,x)的范围是 -π~ -π/2
    • 点(x,y) 在第四象限时,atan2(y,x)的范围是 -π/2~0

    3.对比

    • atan只有一个参数,就是正切值y/x
    • atan2有两个参数,注意是(纵坐标,横坐标),也可以用(sinα,cosα)
    • atan2(y,x) = atan(y/x) 仅发生在点 (x,y) 在第一象限 (x>0,y>0)或第四象限(x>0,y<0)

    4.举例

    在第二象限有个点:x=-1,y=1

    atan(y/x)=-π/4
    atan2(y,x)=3π/4

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持本网站。

    您可能感兴趣的文章:

    • Matlab中关于argmax、argmin函数的使用解读
    • python如何调用现有的matlab函数
    • MATLAB 全景图切割及盒图显示的实现步骤