hypot

Квадратный корень из суммы квадратов (гипотенуза)

Синтаксис

Описание

пример

C = hypot(A,B) возвращает результат следующего уравнения, вычисленного, чтобы избежать нижнего потока и переполнения:

C = sqrt(abs(A).^2 + abs(B).^2)

Примеры

свернуть все

Вычислите гипотенузу прямоугольного треугольника с длинами сторон 3 и 4.

C = hypot(3,4)
C = 5

Исследуйте различие между использованием hypot и кодирование основных hypot уравнение в М-коде.

Создайте анонимную функцию, которая выполняет по существу ту же базовую функцию, что и hypot.

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

myhypot не имеет того же фактора к поведению переполнения и переполнения, что и hypot предложения.

Найдите верхний предел, при котором 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-by- N матрица и B является скаляром или 1-by- N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

Если ни один из них Aни B является Inf, но один или оба входов NaN, затем hypot возвращает NaN.

Типы данных: single | double
Поддержка комплексного числа: Да

Подробнее о

свернуть все

Податливость требованиям IEEE

Для действительных входов, hypot имеет несколько моделей поведения, которые отличаются от рекомендованных в IEEE®-754 Стандарт.

 MATLAB® IEEE

hypot(NaN,Inf)

NaN

Inf

hypot(NaN,-Inf)

NaN

Inf

hypot(Inf,NaN)

NaN

Inf

hypot(-Inf,NaN)

NaN

Inf

Расширенные возможности

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

См. также

| |

Представлено до R2006a