Основанное на CORDIC приближение Декартова-полярного преобразования
[theta,r] = cordiccart2pol(x,y)
[theta,r] = cordiccart2pol(x,y, niters)
[theta,r] = cordiccart2pol(x,y, niters,'ScaleOutput',b)
[theta,r] = cordiccart2pol(x,y,
'ScaleOutput',b)
используя приближение алгоритма CORDIC, возвращает полярные координаты, угол [theta,r]
= cordiccart2pol(x
,y
)theta
и радиус r
, Декартовых координат, x
и y
.
выполняет [theta,r]
= cordiccart2pol(x
,y
, niters
)niters
итерации алгоритма.
задает как количество итераций, так и, в зависимости от логического значения [theta,r]
= cordiccart2pol(x
,y
, niters
,'ScaleOutput',b)b
, масштабировать ли r
вывод обратным значением усиления CORDIC.
масштабирует [theta,r]
= cordiccart2pol(x
,y
,
'ScaleOutput',b)r
вывод обратным значением усиления CORDIC, в зависимости от логического значения b
.
|
|
|
|
Необязательные разделенные запятой пары Name,Value
аргументы, где Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри одинарных кавычек (''
).
|
По умолчанию: |
|
|
|
|
Преобразуйте Декартовы координаты с фиксированной точкой в полярные координаты.
[thPos,r]=cordiccart2pol(sfi([0.75:-0.25:-1.0],16,15),sfi(0.5,16,15)) thPos = 0.5881 0.7854 1.1072 1.5708 2.0344 2.3562 2.5535 2.6780 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13 r = 0.9014 0.7071 0.5591 0.5000 0.5591 0.7071 0.9014 1.1180 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 18 FractionLength: 15 [thNeg,r]=... cordiccart2pol(sfi([0.75:-0.25:-1.0],16,15),sfi(-0.5,16,15)) thNeg = -0.5881 -0.7854 -1.1072 -1.5708 -2.0344 -2.3562 -2.5535 -2.6780 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13 r = 0.9014 0.7071 0.5591 0.5000 0.5591 0.7071 0.9014 1.1180 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 18 FractionLength: 15