一句话总结:

atan2(a,b)是4象限反正切,它的取值不仅取决于a/b的atan值,还取决于点 (b, a) 落入哪个象限
   当点(b, a) 落入第一象限时,atan2(a,b)的范围是  0 ~ pi/2;
 当点(b, a) 落入第二象限时,atan2(a,b)的范围是  pi/2 ~ pi;
   当点(b, a) 落入第三象限时,atan2(a,b)的范围是  -pi/2~0;
 当点(b, a) 落入第四象限时,atan2(a,b)的范围是 -pi~-pi/2

atan(a/b) 是2象限反正切,即a/b的atan值 
   当 a/b > 0 时,atan(a/b)取值范围是 0 ~ pi/2;
   当 a/b < 0 时,atan(a/b)取值范围是 -pi/2~0

atan2(a,b)详细解释:

语法

P = atan2(Y,X)

说明

示例

P = atan2(Y,X) 返回 Y 和 X 的四象限反正切 (tan-1),该值必须为实数。atan2 函数遵循当 x 在数学上为零(或者为 0 或 -0)时 atan2(x,x) 返回 0 的约定。

示例

计算点的四象限反正切

尝试此示例Copy Command  Copy Code

计算点 y = 4x = -3 的四象限反正切。

atan2(4,-3)
ans = 2.2143

将复数转换为极坐标

尝试此示例Copy Command  Copy Code

将 4 + 3i 转换为极坐标。

z = 4 + 3i;
r = abs(z)
r = 5
theta = atan2(imag(z),real(z))
theta = 0.6435

半径 r 和角 theta 是 4 + 3i 的极坐标表示形式。

或者,使用 angle 计算 theta

theta = angle(z)
theta = 0.6435

将 r 和 theta 转换回原始复数。

z = r*exp(i*theta)
z = 4.0000 + 3.0000i

绘制四象限反正切图

尝试此示例Copy Command  Copy Code

绘制 atan2(Y,X)(对于 -4<Y<4 和 -4<X<4)。

定义要在其上绘制的区间。

[X,Y] = meshgrid(-4:0.1:4,-4:0.1:4);

计算 atan2(Y,X) 在此区间上的值。

P = atan2(Y,X);

使用 surf 生成函数的曲面图。请注意,plot 绘制存在于 Y=0 的不连续性(对于所有 X<0)。

surf(X,Y,P);
view(45,45);

输入参数

全部折叠

Y - y 坐标
标量 | 向量 | 矩阵 | 多维数组

y 坐标,指定为标量、向量、矩阵或多维数组。输入 Y 和 X 必须具有相同的大小或具有兼容的大小(例如,Y 是一个 M×N 矩阵,X 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。

数据类型: single | double

X - x 坐标
标量 | 向量 | 矩阵 | 多维数组

x 坐标,指定为标量、向量、矩阵或多维数组。输入 Y 和 X 必须具有相同的大小或具有兼容的大小(例如,Y 是一个 M×N 矩阵,X 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。

数据类型: single | double

详细信息

全部折叠

四象限反正切

四象限反正切 atan2(Y,X) 基于图形中所示的 Y 和 X 的值返回闭区间 [-pi,pi] 中的值。

相比之下,atan(Y/X) 返回的结果仅限于区间 [-pi/2,pi/2],如图的右侧所示。

IEEE 合规性

对于实数输入,atan2 的一些行为不同于 IEEE®-754 标准中推荐的行为。

MATLAB® IEEE
atan2(0,-0)

0

pi

atan2(-0,-0)

0

-pi

atan(a,b)详细解释:

语法

Y = atan(X)

说明

Y = atan(X) 以弧度为单位返回 X 各元素的 反正切 (tan-1)。该函数同时接受实数和复数输入。

  • 对于 X 的实数值,atan(X) 返回区间 [-π/2, π/2] 中的值。

  • 对于 X 的复数值,atan(X) 返回复数值。

示例

值的反正切

尝试此示例Copy Command  Copy Code

求值的反正切。

atan(0.8)
ans = 0.6747

复数值向量的反正切

尝试此示例Copy Command  Copy Code

计算向量 x 的各元素的反正切。atan 函数按元素处理 x

x = [0.5i 1+3i -2.2+i];
Y = atan(x)
Y = 1×3 complex0.0000 + 0.5493i   1.4615 + 0.3059i  -1.2019 + 0.1506i

绘制反正切函数

尝试此示例Copy Command  Copy Code

在区间 −20≤x≤20 上绘制反正切函数。

x = -20:0.01:20;
plot(x,atan(x))
grid on

输入参数

X - 角正切
标量 | 向量 | 矩阵 | 多维数组

角正切,指定为标量、向量、矩阵或多维数组。如果 X 为非标量,则按元素执行 atan 运算。

数据类型: single | double
复数支持: 

详细信息

反正切

反正切定义为

tan−1(z)=i2log(i+zi−z).

atan和atan2的区别-Matlab三角函数相关推荐

  1. python中 math模块下 atan 和 atan2的区别

    atan 和 atan2 都是反正切函数,返回的都是弧度 对于两点形成的直线,两点分别是 point(x1,y1) 和 point(x2,y2),其斜率对应角度的计算方法可以是: angle = at ...

  2. atan与atan2的区别

    相比较ATan,ATan2究竟有什么不同?本篇介绍一下ATan2的用法及使用条件. 对于tan(θ) = y / x: θ = ATan(y / x)求出的θ取值范围是[-PI/2, PI/2]. θ ...

  3. C语言math.h库函数中atan与atan2的区别

    今天做图像旋转练习的时候,要根据鼠标的移动轨迹来确定转过的角度,于是就很自然的想到通过三个点来确定这个转过的角度:图像的中心,鼠标按下的点,鼠标拖到的点.想到使用斜率来计算角度,于是联想到数学公式中的 ...

  4. c语言math.atan,C语言math.h库函数中atan与atan2的区别

    今天做图像旋转练习的时候,要根据鼠标的移动轨迹来确定转过的角度,于是就很自然的想到通过三个点来确定这个转过的角度:图像的中心,鼠标按下的点,鼠标拖到的点.想到使用斜率来计算角度,于是联想到数学公式中的 ...

  5. Matlab 函数atan 函数atan2 的区别

    double atan(  double x  ); //计算x的反正切值 double  atan2 ( double y, double x ); //计算y/x的反正切值

  6. [转载] numpy.arctan, math.atan, math.atan2的区别

    参考链接: Python中的numpy.arctan2 numpy.arctan与math.atan的结果的取值范围是一样的,是从-90度到90度,而math.atan2的结果的取值范围是从-180到 ...

  7. numpy.arctan, math.atan, math.atan2的区别

    numpy.arctan与math.atan的结果的取值范围是一样的,是从-90度到90度,而math.atan2的结果的取值范围是从-180到180度.所以当你需要的结果是需要超出-90度到90度的 ...

  8. C语言中两个反正切函数atan与atan2的区别

    我们可以使用正切操作将角度转变为斜率,那么怎样利用斜率来转换为角度呢?可以利用斜率的反正切函数将他转换为相应的角度.as中有两个函数可以计算反正切,我们来看一下. 1.as中Math.atan() M ...

  9. c语言atan的作用,C语言中的atan和atan2

    在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x)  他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...

  10. MATLAB中atan与atan2角度讲解

    atan2求的是一个点所对应的角的大小 ,且输出角度范围是[-π, π] atan求的是一个数值对应的角,且输出角度范围是[-π/2, π/2] 例如: atan(1)=0.7854 atan(1,1 ...

最新文章

  1. 【机器学习】集成学习之stacking
  2. 第57课 鸡兔同笼-2021.10.12
  3. Python问题记录:如何处理中文网页中的多余空格
  4. 编译安装postfix+sasl+mysql+dovecot+extmail构建完成的邮件系统(一)
  5. 计算机表格中需要乘法求和,《怎么在Excel表格里面使用乘法求和》
  6. python是什么意思怎么读-python怎么读,python是什么意思
  7. 单片机入门 - 模电、数电与单片机
  8. 随感10-Transecndence超验骇客
  9. html图片幻灯片怎么做,纯CSS3制作满屏图像幻灯片
  10. Java日期时间主要API:java.time.Duration类和java.time.Period类
  11. 初识Uniprot API
  12. 小虎电商浏览器:淘数据店铺数据分析如何?数据精确吗?
  13. 【机器视觉】圆形测量
  14. 如何比较两个文本的相似度
  15. 企业微信—JS-SDK使用(例:预览文件接口)
  16. Android代码混淆工具Proguard学习
  17. 电子学会2023年3月青少年软件编程(图形化)等级考试试卷(二级)真题,含答案解析
  18. SAP 如何把科目快速扩充到所有公司
  19. Xv6操作系统导论(第三章)
  20. ARM指令英文全称及功能

热门文章

  1. CATIA 视角操作
  2. 小米路由器能做无线打印服务器吗,将普通打印机连接在小米路由器上能做
  3. 小米路由器mini无线连接HP1010打印机
  4. 不能将下载行为传输到IDM插件的解决方法
  5. C#获得汉字对应区位码
  6. 笔记本win10 1709 安装 v4w的教程
  7. 【计算机组成原理】内存与CPU的连接
  8. H5分享带缩略图,描述,微信内分享到好友,朋友圈等
  9. ZedGraph的一些属性
  10. JDK历史所有版本下载地址(附Oracle帐号)