hypot
平方和的平方根(斜边)
说明
示例
计算斜边
上溢和下溢行为
检查使用 hypot
与使用 M 代码编写基本 hypot
方程代码之间的区别。
创建所执行的基本功能与 hypot
基本相同的匿名函数。
myhypot = @(a,b)sqrt(abs(a).^2+abs(b).^2);
对于 hypot
所提供的下溢和上溢行为,myhypot
没有相同的考虑。
计算 myhypot
返回有用值的上限。您可以看到此测试函数在 1e154
左右处达到其最大值,并在该点返回无限结果。
myhypot(1e153,1e153)
ans = 1.4142e+153
myhypot(1e154,1e154)
ans = Inf
使用 hypot
函数执行相同的操作,并观察 hypot
对大小达到约 1e308
的值的运算情况,该值约等于您计算机上的 realmax
的值(可表示的最大双精度浮点数)。
hypot(1e308,1e308)
ans = 1.4142e+308
hypot(1e309,1e309)
ans = Inf
输入参数
A,B
— 输入数组
标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。输入 A
和 B
必须具有相同的大小或具有兼容的大小(例如,A
是一个 M
×N
矩阵,B
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
如果一个或两个输入为 NaN
,则 hypot
返回 NaN
。
数据类型: single
| double
复数支持: 是
详细信息
IEEE 合规性
对于实数输入,hypot
的一些行为不同于 IEEE®-754 标准中推荐的行为。
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
hypot(Inf,NaN) |
|
|
hypot(-Inf,NaN) |
|
|
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果将
hypot
用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
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)