2026a

# pol2cart


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

函数库: TyMath

# 语法

x,y = pol2cart(theta,rho)

x,y,z = pol2cart(theta,rho,z)

# 说明

x,y = pol2cart(theta,rho) 将极坐标数组 theta 和 rho 的对应元素变换为二维笛卡尔坐标或 xy 坐标。示例


x,y,z = pol2cart(theta,rho,z) 将柱坐标数组 theta、rho 和 z 的对应元素变换为三维笛卡尔坐标或 xyz 坐标。示例

# 示例

极坐标转换为笛卡尔坐标

将矩阵 theta 和 rho 中对应项定义的极坐标转换为二维笛卡尔坐标 x 和 y。

using TyMath
theta = [0 pi/4 pi/2 pi]
theta = 1×4 Matrix{Float64}:
 0.0  0.785398  1.5708  3.14159
rho = [5 5 10 10]
rho = 1×4 Matrix{Int64}:
 5  5  10  10
x,y = pol2cart(theta,rho)
x = 1×4 Matrix{Float64}:
 5.0  3.53553  6.12323e-16  -10.0

y = 1×4 Matrix{Float64}:
 0.0  3.53553  10.0  1.22465e-15
柱坐标转换为笛卡尔坐标

将矩阵 theta、rho 和 z 中对应项定义的柱坐标转换为三维笛卡尔坐标 x、y 和 z。

using TyMath
theta = [0, pi/4, pi/2, pi]
theta = 4-element Vector{Float64}:
 0.0
 0.7853981633974483
 1.5707963267948966
 3.141592653589793
rho = [1, 3, 4, 5]
rho = 4-element Vector{Int64}:
 1
 3
 4
 5
z = [7, 8, 9, 10]
z = 4-element Vector{Int64}:
  7
  8
  9
 10
x,y,z = pol2cart(theta,rho,z)
x = 4-element Vector{Float64}:
  1.0
  2.121320343559643
  2.4492935982947064e-16
 -5.0

y = 4-element Vector{Float64}:
 0.0
 2.1213203435596424
 4.0
 6.123233995736766e-16

z = 4-element Vector{Int64}:
  7
  8
  9
 10

# 输入参数

theta - 角坐标
标量 | 向量 | 矩阵 | 多维数组

角坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。

theta 是在 x-y 平面上从 x 轴的正向测量的逆时针角度(以弧度为单位)。

数据类型: Int | Float

复数支持:

rho - 径向坐标
数组

径向坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。

rho 是从原点到 x-y 平面上某点的距离。

数据类型: Int | Float

复数支持:

z - 仰角坐标
数组

仰角坐标,指定为标量、向量、矩阵或多维数组。theta、rho 和 z 的大小必须相同,或者其中任一个可以为标量。

z 是高出 x-y 平面的高度。

数据类型: Int | Float

复数支持:

# 输出参数

x,y,z - 笛卡尔坐标
数组

笛卡尔坐标,以数组形式返回。

数据类型: Int | Float

复数支持:

# 算法

从极坐标和柱坐标到笛卡尔坐标的映射:

# 另请参阅

cart2sph | cart2pol | sph2cart