matlab 中tan(x),atan(y/x),atan2(y,x) 总结

来源:互联网 发布:电路设计仿真软件 航空 编辑:程序博客网 时间:2024/05/21 14:46

(1) 在数学中,函数f(x)=tanx的定义域为:{x|kπ- π/2 <x<kπ+ π/2 ,k∈Z},值域为:[-∞,+∞]
(2) atan(y/x) 根据正切值为y/x求出对应的角度 (可以看作仅仅是2象限反正切):
当 y/x> 0 时,atan(a/b)取值范围是 0 ~ pi/2;
当 y/x < 0 时,atan(a/b)取值范围是 -pi/2~0
(3) atan2(y,x)是4象限反正切,它的取值不仅取决于正切值y/x,还取决于点 (x, y) 落入哪个象限:
当点(x, y) 落入第一象限时,atan2(y,x)的范围是 0 ~ pi/2;
当点(x, y) 落入第二象限时,atan2(y,x)的范围是 pi/2 ~ pi;
当点(x, y) 落入第三象限时,atan2(y,x)的范围是 -pi~-pi/2;
当点(x, y) 落入第四象限时,atan2(y,x)的范围是 -pi/2~0

注意:

  1. 故 atan2(y,x) = atan(y/x) 仅仅发生在 点 (x, y) 落入第一象限或第四象限 
  2. atan 和 atan2 取值范围不同,参数填写的方式也不一样,但是建议使用atan2函数
  3. 文中参考
    http://blog.csdn.net/chinabinlang/article/details/6802686
    http://www.ilovematlab.cn/thread-253542-1-1.html