2026a

# hypot


平方和的平方根(斜边)

# 语法

C = hypot(A,B)

# 说明

C = hypot(A,B) 返回以下方程的计算结果(计算是为了避免下溢或上溢): 示例

# 示例

计算斜边

计算边长为 3 和 4 的直角三角形的斜边。

C = hypot(3,4)
C = 5.0
上溢和下溢行为

检查使用 hypot 与使用 Julia 代码编写基本 hypot 方程代码之间的区别。

创建所执行的基本功能与 hypot 基本相同的匿名函数。

function myhypot(a,b)
    return sqrt(abs(a).^2+abs(b).^2)
end

对于 hypot 所提供的下溢和上溢行为,myhypot 没有相同的考虑。

计算 myhypot 返回有用值的上限。您可以看到此测试函数在 1e154 左右处达到其最大值,并在该点返回无限结果。

myhypot(1e153,1e153)
ans = 1.414213562373095e153
myhypot(1e154,1e154)
ans = Inf

使用 hypot 函数执行相同的操作,并观察 hypot 对大小达到约 1e308 的值的运算情况。

hypot(1e308,1e308)
ans = 1.4142135623730951e308

# 输入参数

A,B - 输入数组
标量值 | 向量 | 矩阵 | 多维数组

输入数组,指定为标量、向量、矩阵或多维数组。输入 A 和 B 必须具有相同的大小或具有兼容的大小。

  • 如果一个或两个输入为 Inf 或 -Inf,则 hypot 返回 Inf;
  • 如果输入均不为 Inf 或 -Inf,但其中一个或两个输入为 NaN,则 hypot 返回 NaN。

数据类型: Int | Float

复数支持:

# 另请参阅

sqrt | norm