hypot

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

Синтаксис

C = hypot(A,B)

Описание

пример

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

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