Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

cart2pol

将笛卡尔坐标转换为极坐标或柱坐标

说明

示例

[theta,rho] = cart2pol(x,y) 可将二维笛卡尔坐标数组 xy 的对应元素变换为极坐标 thetarho

示例

[theta,rho,z] = cart2pol(x,y,z) 可将三维笛卡尔坐标数组 xyz 变换为柱坐标 thetarhoz

示例

全部折叠

将矩阵 xy 中对应项定义的笛卡尔坐标转换为极坐标 thetarho

x = [5 3.5355 0 -10]
x = 1×4

    5.0000    3.5355         0  -10.0000

y = [0 3.5355 10 0]
y = 1×4

         0    3.5355   10.0000         0

[theta,rho] = cart2pol(x,y)
theta = 1×4

         0    0.7854    1.5708    3.1416

rho = 1×4

    5.0000    5.0000   10.0000   10.0000

将矩阵 xyz 中对应项定义的三维笛卡尔坐标转换为柱坐标 thetarhoz

x = [1 2.1213 0 -5]'
x = 4×1

    1.0000
    2.1213
         0
   -5.0000

y = [0 2.1213 4 0]'
y = 4×1

         0
    2.1213
    4.0000
         0

z = [7 8 9 10]'
z = 4×1

     7
     8
     9
    10

[theta,rho,z] = cart2pol(x,y,z)
theta = 4×1

         0
    0.7854
    1.5708
    3.1416

rho = 4×1

    1.0000
    3.0000
    4.0000
    5.0000

z = 4×1

     7
     8
     9
    10

输入参数

全部折叠

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

数据类型: single | double

输出参数

全部折叠

角坐标,以数组形式返回。theta 是从 x 轴的正向测量的在 x-y 平面中的逆时针角度,以弧度为单位。角度值在 [-pi pi] 范围内。

径向坐标,以数组形式返回。rho 是从原点到 x-y 平面上某点的距离。

仰角坐标,以数组形式返回。z 是高出 x-y 平面的高度。

算法

从二维笛卡尔坐标到极坐标以及从三维笛卡尔坐标到柱坐标的映射为

Figure shows 2-D and 3-D mappings from Cartesian to polar coordinates. The 2-D mapping has X and Y axes, with rho equal to the radius of the point and theta its angle in relation to X. The 3-D mapping additionally has a value for Z that requires no conversion.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| |