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)