Четырехквадрантная обратная касательная значений фиксированной точки
Используйте atan2 для вычисления арктангенса неподписанных и подписанных входных значений с фиксированной точкой.
Неподписанные входные значения
В этом примере используются 16-битные значения длины слова без знака.
y = fi(0.125,0,16); x = fi(0.5,0,16); z = atan2(y,x)
z =
0.2450
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 16
FractionLength: 15
Подписанные входные значения
В этом примере используются 16-разрядные значения длины слова со знаком.
y = fi(-0.1,1,16); x = fi(-0.9,1,16); z = atan2(y,x)
z =
-3.0309
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13
y - координаты Yy-координаты, заданные как скаляр, вектор, матрица или многомерный массив.
y и x могут быть действительными, подписанными или неподписанными скалярами, векторами, матрицами или N-мерные массивы, содержащие значения углов с фиксированной точкой в радианах. Исходные данные y и x должен быть одинакового размера. Если они не имеют одинакового размера, по крайней мере один вход должен быть скалярным значением. Допустимые типы данных y и x являются:
fi одинок
fi дважды
fi фиксированная точка с двоичным масштабированием точек
fi масштабирование с двойным масштабированием с двоичным масштабированием точек
Типы данных: fi
x - x-координатыx-координаты, заданные как скаляр, вектор, матрица или многомерный массив.
y и x могут быть действительными, подписанными или неподписанными скалярами, векторами, матрицами или N-мерные массивы, содержащие значения углов с фиксированной точкой в радианах. Исходные данные y и x должен быть одинакового размера. Если они не имеют одинакового размера, по крайней мере один вход должен быть скалярным значением. Допустимые типы данных y и x являются:
fi одинок
fi дважды
fi фиксированная точка с двоичным масштабированием точек
fi масштабирование с двойным масштабированием с двоичным масштабированием точек
Типы данных: fi
z - Четырехквадрантный арктангенсЧетырехквадрантный арктангенс, возвращаемый как скаляр, вектор, матрица или многомерный массив.
z - четырехквадрантный арктангенс y и x. numerictype из z зависит от подписанности y и x:
Если либо y или x подписывается, затем z - знаковое число с фиксированной точкой в диапазоне [-pi, pi]. Имеет 16-разрядную длину слова и 13-разрядную длину дроби (numerictype(1,16,13)).
Если оба y и x не подписаны, затем z - беззнаковое число с фиксированной точкой в диапазоне [0, пи/2]. Имеет 16-разрядную длину слова и 15-разрядную длину дроби (numerictype(0,16,15)).
Выходные данные, z, всегда связан со значением по умолчанию fimath.
Четырехквадрантный арктангенс определяется следующим образом по отношению к atan функция:
atan2 функция вычисляет четырехквадрантный арктангенс входов с фиксированной точкой с помощью 8-битной таблицы поиска следующим образом:
Разделите входные абсолютные значения, чтобы получить беззнаковое дробное 16-разрядное отношение с фиксированной точкой от 0 до 1. Абсолютные значения y и x определяют, какое значение является делителем.
Признаки y и x входные данные определяют, в каком квадранте лежит их отношение. Вход с большим абсолютным значением используется в качестве знаменателя, таким образом получая значение между 0 и 1.

Вычислите индекс таблицы на основе 16-разрядного, беззнакового, сохраненного целого значения:
Используйте 8 старших битов для получения первого значения из таблицы.
Используйте следующее значение таблицы в качестве второго значения.
Используйте 8 младших разрядов для интерполяции между первым и вторым значениями, используя ближайшую соседнюю линейную интерполяцию. Эта интерполяция дает значение в диапазоне [0, pi/4).
Выполнить коррекцию октанта на результирующем угле на основе значений исходного y и x входные данные.
Это вычисление арктангенса является точным только для первых 16 старших битов входного сигнала.
atan2 функция игнорирует и отбрасывает любые fimath присоединено к входам. Выходные данные, z, всегда связан со значением по умолчанию fimath.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.