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

Если никакой A ни B isinf, но одними или обоими входными параметрами является 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™.

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

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

| |

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