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
와 x
는 고정소수점 각도 값(단위: 라디안)을 포함하는, 부호 있는 또는 부호 없는 실수 값의 스칼라, 벡터, 행렬 또는 N
차원 배열일 수 있습니다. 입력값 y
와 x
의 크기는 같아야 합니다. 크기가 같지 않은 경우 적어도 하나의 입력값은 스칼라 값이어야 합니다. y
와 x
의 유효한 데이터형은 다음과 같습니다.
fi
single형fi
double형이진 소수점 스케일링을 사용하는
fi
고정소수점이진 소수점 스케일링을 사용하는
fi
스케일링된 double형
데이터형: fi
x 좌표로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다.
y
와 x
는 고정소수점 각도 값(단위: 라디안)을 포함하는, 부호 있는 또는 부호 없는 실수 값의 스칼라, 벡터, 행렬 또는 N
차원 배열일 수 있습니다. 입력값 y
와 x
의 크기는 같아야 합니다. 크기가 같지 않은 경우 적어도 하나의 입력값은 스칼라 값이어야 합니다. y
와 x
의 유효한 데이터형은 다음과 같습니다.
fi
single형fi
double형이진 소수점 스케일링을 사용하는
fi
고정소수점이진 소수점 스케일링을 사용하는
fi
스케일링된 double형
데이터형: fi
출력 인수
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사분면 역탄젠트는 atan
함수와 관련하여 다음과 같이 정의됩니다.
알고리즘
atan2
함수는 8비트 룩업 테이블을 사용하여 고정소수점 입력의 4사분면 역탄젠트를 계산합니다. 방법은 다음과 같습니다.
입력된 절댓값에 대해 나눗셈을 수행하여 0과 1 사이의 부호 없는 소수형 고정소수점 16비트 비율을 구합니다. y와 x의 절댓값에 따라 제수 값이 결정됩니다.
y
와x
입력값의 부호에 따라 이들 비율이 놓일 사분면이 결정됩니다. 절댓값이 더 큰 입력값이 분모로 사용되기 때문에 0과 1 사이의 값이 생성됩니다.16비트의 저장된 부호 없는 정수 값을 토대로 테이블 인덱스를 계산합니다.
8개의 최상위 비트를 사용하여 테이블에서 첫 번째 값을 얻습니다.
다음으로 큰 테이블 값을 두 번째 값으로 사용합니다.
8개의 최하위 비트를 사용하여 첫 번째 값과 두 번째 값 사이를 최근접이웃 선형 보간을 사용하여 보간합니다. 이 보간은 범위 [0, pi/4)의 값을 생성합니다.
원래
y
와x
입력값을 기반으로 결과 각도에 대해 8분원 보정을 수행합니다.
이 역탄젠트 계산은 입력값의 최상위 비트 16개 내에서만 정확합니다.
atan2
함수는 입력값에 연결된 모든 fimath
를 무시하고 폐기합니다. 출력값 z
는 항상 디폴트 fimath
와 연결됩니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2012a에 개발됨
참고 항목
atan2
| sin
| angle
| cos
| cordicatan2
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)