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
是一个 M
×N
矩阵,B
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
如果一个或两个输入为 NaN
,则 hypot
返回 NaN
。
数据类型: single
| double
复数支持: 是
详细信息
对于实数输入,hypot
的一些行为不同于 IEEE®-754 标准中推荐的行为。
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
hypot(Inf,NaN) |
|
|
hypot(-Inf,NaN) |
|
|
扩展功能
hypot
函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
如果将
hypot
用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
hypot
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)