Квадратный корень из суммы квадратов (гипотенуза)
Вычислите гипотенузу прямоугольного треугольника с длинами сторон 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
и B
должен быть либо одинаковым размером, либо иметь совместимые размеры (для примера, A
является M
-by- N
матрица и B
является скаляром или 1
-by- N
вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».
Если ни один из них A
ни B
является Inf
, но один или оба входов NaN
, затем hypot
возвращает NaN
.
Типы данных: single
| double
Поддержка комплексного числа: Да
Для действительных входов, hypot
имеет несколько моделей поведения, которые отличаются от рекомендованных в IEEE®-754 Стандарт.
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
hypot(Inf,NaN) |
|
|
hypot(-Inf,NaN) |
|
|
Эта функция полностью поддерживает длинные массивы. Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
Если вы используете hypot
с операндами одиночного и двойного типов сгенерированный код может не привести к тому же результату, что и MATLAB. См. «Двухэлементные операции с одним и двумя операндами» (MATLAB Coder).
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.