Contenido principal

hypot

Raíz cuadrada de una suma de cuadrados (hipotenusa)

Descripción

C = hypot(A,B) devuelve la hipotenusa de un triángulo rectángulo con longitudes de los lados de A y B. Esta función calcula C = sqrt(abs(A).^2 + abs(B).^2) evitando el subdesbordamiento y el desbordamiento.

ejemplo

Ejemplos

contraer todo

Calcule la hipotenusa de un triángulo rectángulo con longitudes de los lados de 3 y 4.

C = hypot(3,4)
C = 
5

Examine la diferencia entre usar hypot y codificar la ecuación hypot básica en código M.

Cree una función anónima que realice esencialmente la misma función básica que hypot.

myhypot = @(a,b)sqrt(abs(a).^2+abs(b).^2);

myhypot no tiene en cuenta el comportamiento de desbordamiento y subdesbordamiento de la misma forma que ofrece hypot.

Encuentre el límite superior en el que myhypot devuelve un valor útil. Puede ver que esta función de prueba alcanza su máximo en 1e154 aproximadamente, y devuelve un resultado infinito en ese punto.

myhypot(1e153,1e153)
ans = 
1.4142e+153
myhypot(1e154,1e154)
ans = 
Inf

Haga lo mismo usando la función hypot y observe que hypot opera sobre los valores hasta cerca de 1e308, que es aproximadamente igual al valor de realmax de su ordenador (el mayor número de punto flotante de doble precisión representable).

hypot(1e308,1e308)
ans = 
1.4142e+308
hypot(1e309,1e309)
ans = 
Inf

Argumentos de entrada

contraer todo

Arreglos de entrada, especificados como escalares, vectores, matrices o arreglos multidimensionales. Las entradas A y B deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, A es una matriz M por N y B es un escalar o un vector fila 1 por N). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.

Si una o ambas entradas son NaN, hypot devuelve NaN.

Tipos de datos: single | double
Soporte de números complejos:

Más acerca de

contraer todo

Capacidades ampliadas

expandir todo

Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también

| |