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