atan2
고정소수점 값의 4사분면 역탄젠트
설명
예제
고정소수점 입력값의 역탄젠트 계산하기
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
single형fi
double형이진 소수점 스케일링을 사용하는
fi
고정소수점이진 소수점 스케일링을 사용하는
fi
스케일링된 double형
데이터형: fi
x
— x 좌표
스칼라 | 벡터 | 행렬 | 다차원 배열
x 좌표로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다.
y
와 x
는 고정소수점 각도 값(단위: 라디안)을 포함하는, 부호 있는 또는 부호 없는 실수 값의 스칼라, 벡터, 행렬 또는 N
차원 배열일 수 있습니다. 입력값 y
와 x
의 크기는 같아야 합니다. 크기가 같지 않은 경우 적어도 하나의 입력값은 스칼라 값이어야 합니다. y
와 x
의 유효한 데이터형은 다음과 같습니다.
fi
single형fi
double형이진 소수점 스케일링을 사용하는
fi
고정소수점이진 소수점 스케일링을 사용하는
fi
스케일링된 double형
데이터형: fi
출력 인수
z
— 4사분면 역탄젠트
스칼라 | 벡터 | 행렬 | 다차원 배열
4사분면 역탄젠트로, 스칼라, 벡터, 행렬 또는 다차원 배열로 반환됩니다.
z
는 y
와 x
의 4사분면 역탄젠트입니다. z
의 numerictype
은 y
와 x
의 부호의 유무에 따라 달라집니다.
y
나x
중 하나가 부호가 있는 경우z
는 범위 [-pi,pi]의 부호 있는 고정소수점 숫자입니다. 16비트 워드 길이와 13비트 소수부 길이를 갖습니다(numerictype(1,16,13)
).y
와x
모두 부호가 없는 경우z
는 범위 [0,pi/2]의 부호 없는 고정소수점 숫자입니다. 16비트 워드 길이와 15비트 소수부 길이를 갖습니다(numerictype(0,16,15)
).
출력값 z
는 항상 디폴트 fimath
와 연결됩니다.
세부 정보
4사분면 역탄젠트
4사분면 역탄젠트는 atan
함수와 관련하여 다음과 같이 정의됩니다.
알고리즘
atan2
함수는 8비트 룩업 테이블을 사용하여 고정소수점 입력의 4사분면 역탄젠트를 계산합니다. 방법은 다음과 같습니다.
입력된 절댓값에 대해 나눗셈을 수행하여 0과 1 사이의 부호 없는 소수형 고정소수점 16비트 비율을 구합니다. y와 x의 절댓값에 따라 제수 값이 결정됩니다.
y
와x
입력값의 부호에 따라 이들 비율이 놓일 사분면이 결정됩니다. 절댓값이 더 큰 입력값이 분모로 사용되기 때문에 0과 1 사이의 값이 생성됩니다.16비트의 저장된 부호 없는 정수 값을 토대로 테이블 인덱스를 계산합니다.
8개의 최상위 비트를 사용하여 테이블의 첫 번째 값을 얻습니다.
다음으로 큰 테이블 값을 두 번째 값으로 사용합니다.
8개의 최하위 비트를 사용하여 첫 번째 값과 두 번째 값 사이를 최근접이웃 선형 보간을 사용하여 보간합니다. 이 보간은 범위 [0, pi/4)의 값을 생성합니다.
원래
y
와x
입력값을 기반으로 결과 각도에 대해 8분원 보정을 수행합니다.
이 역탄젠트 계산은 입력값의 최상위 비트 16개 내에서만 정확합니다.
fimath 전파 규칙
atan2
함수는 입력값에 연결된 모든 fimath
를 무시하고 폐기합니다. 출력값 z
는 항상 디폴트 fimath
와 연결됩니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2012a에 개발됨
참고 항목
atan2
| sin
| angle
| cos
| cordicatan2
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)