MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
平方和的平方根(斜边)
C = hypot(A,B)
C = hypot(A,B) 返回边长为 A 和 B 的直角三角形的斜边。此函数通过避免下溢和上溢来计算 C = sqrt(abs(A).^2 + abs(B).^2)。
A,B
A
B
C = sqrt(abs(A).^2 + abs(B).^2)
示例
全部折叠
计算边长为 3 和 4 的直角三角形的斜边。
3
4
C = hypot(3,4)
C = 5
检查使用 hypot 与使用 M 代码编写基本 hypot 方程代码之间的区别。
hypot
创建所执行的基本功能与 hypot 基本相同的匿名函数。
myhypot = @(a,b)sqrt(abs(a).^2+abs(b).^2);
对于 hypot 所提供的下溢和上溢行为,myhypot 没有相同的考虑。
myhypot
计算 myhypot 返回有用值的上限。您可以看到此测试函数在 1e154 左右处达到其最大值,并在该点返回无限结果。
1e154
myhypot(1e153,1e153)
ans = 1.4142e+153
myhypot(1e154,1e154)
ans = Inf
使用 hypot 函数执行相同的操作,并观察 hypot 对大小达到约 1e308 的值的运算情况,该值约等于您计算机上的 realmax 的值(可表示的最大双精度浮点数)。
1e308
realmax
hypot(1e308,1e308)
ans = 1.4142e+308
hypot(1e309,1e309)
输入数组,指定为标量、向量、矩阵或多维数组。输入 A 和 B 必须具有相同的大小或具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
M
N
1
如果一个或两个输入为 NaN,则 hypot 返回 NaN。
NaN
数据类型: single | double 复数支持: 是
single
double
对于实数输入,hypot 的一些行为不同于 IEEE®-754 标准中推荐的行为。
hypot(NaN,Inf)
Inf
hypot(NaN,-Inf)
hypot(Inf,NaN)
hypot(-Inf,NaN)
全部展开
hypot 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
如果将 hypot 用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB 得出的结果可能会有所不同。请参阅单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
backgroundPool
ThreadPool
hypot 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
hypot 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
hypot 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
sqrt | abs | norm
sqrt
abs
norm
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处