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)。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
hypot 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
hypot 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
hypot 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 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)