cart2sph
将笛卡尔坐标转换为球面坐标
说明
示例
笛卡尔坐标到球面坐标
将矩阵 x
、y
和 z
中对应项定义的笛卡尔坐标转换为球面坐标 az
、el
和 r
。这些点对应于立方体的八个顶点。
x = [1 1 1 1; -1 -1 -1 -1]
x = 2×4
1 1 1 1
-1 -1 -1 -1
y = [1 1 -1 -1; 1 1 -1 -1]
y = 2×4
1 1 -1 -1
1 1 -1 -1
z = [1 -1 1 -1; 1 -1 1 -1]
z = 2×4
1 -1 1 -1
1 -1 1 -1
[az,el,r] = cart2sph(x,y,z)
az = 2×4
0.7854 0.7854 -0.7854 -0.7854
2.3562 2.3562 -2.3562 -2.3562
el = 2×4
0.6155 -0.6155 0.6155 -0.6155
0.6155 -0.6155 0.6155 -0.6155
r = 2×4
1.7321 1.7321 1.7321 1.7321
1.7321 1.7321 1.7321 1.7321
输入参数
x,y,z
— 笛卡尔坐标
标量 | 向量 | 矩阵 | 多维数组
笛卡尔坐标,指定为标量、向量、矩阵或多维数组。x
、y
和 z
必须具有相同的大小或具有兼容的大小(例如,x
是一个 M
×N
矩阵,y
以标量,z
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
数据类型: single
| double
输出参量
azimuth
— 方位角
数组
方位角,以数组形式返回。azimuth
是从 x 轴的正向测量的在 x-y 平面中的逆时针角度,以弧度为单位。角度值在 [-pi pi]
范围内。
elevation
— 仰角
数组
仰角,以数组形式返回。elevation
是与 x-y 平面之间形成的仰角,以弧度为单位。角度值在 [-pi/2, pi/2]
范围内。
r
— 半径
数组
半径,以数组形式返回。r
是从原点到某点的距离。r
的长度单位可以是与输入数组 x
、y
和 z
的单位匹配的任意单位。
算法
从三维笛卡尔坐标到球面坐标的映射为
azimuth = atan2(y,x) elevation = atan2(z,sqrt(x.^2 + y.^2)) r = sqrt(x.^2 + y.^2 + z.^2)
球面坐标表示法不是标准表示法。对于 cart2sph
函数而言,elevation
是从 x-y 平面进行测量的。请注意,如果 elevation = 0
,则该点位于 x-y 平面中。如果 elevation = pi/2
,则该点位于正 z 轴上。
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果将
cart2sph
用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB® 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)