Обратная касательная с четырьмя квадрантами значений фиксированной точки
Используйте 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
— y-координатыy-координаты в виде скаляра, вектора, матрицы или многомерного массива.
y
и x
могут быть подписанные или скаляры без знака с действительным знаком, векторы, матрицы или N
- размерные массивы, содержащие угловые значения фиксированной точки в радианах. Входные параметры y
и x
должен быть одного размера. Если они не тот же размер, по крайней мере один вход должен быть скалярным значением. Допустимые типы данных y
и x
:
fi
единственный
fi
'double'
fi
фиксированная точка с масштабированием двоичной точки
fi
масштабируемый дважды с масштабированием двоичной точки
Типы данных: fi
x
— x-координатыx-координаты в виде скаляра, вектора, матрицы или многомерного массива.
y
и x
могут быть подписанные или скаляры без знака с действительным знаком, векторы, матрицы или N
- размерные массивы, содержащие угловые значения фиксированной точки в радианах. Входные параметры y
и x
должен быть одного размера. Если они не тот же размер, по крайней мере один вход должен быть скалярным значением. Допустимые типы данных y
и x
:
fi
единственный
fi
'double'
fi
фиксированная точка с масштабированием двоичной точки
fi
масштабируемый дважды с масштабированием двоичной точки
Типы данных: fi
z
— Арктангенс с четырьмя квадрантамиАрктангенс с четырьмя квадрантами, возвращенный как скаляр, вектор, матрица или многомерный массив.
z
арктангенс с четырьмя квадрантами y
и x
. numerictype
из z
зависит от со знаком из y
и x
:
Если любой y
или x
подписывается, затем z
номер фиксированной точки со знаком в области значений [-пи, пи]. Это имеет 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, пи/4).
Выполните коррекцию октанта на получившемся углу, на основе значений исходного y
и x
входные параметры.
Это вычисление арктангенса точно только к в лучших 16 старших значащих битах входа.
atan2
функция игнорирует и отбрасывает любой fimath
присоединенный к входным параметрам. Выход, z
, всегда сопоставляется с fimath
по умолчанию.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.