더 긴 코드의 일부로 복잡한 양의 인수 인 양 phi1과 phi2 (크기 128x128의 행렬)를 얻습니다. 이제 MATLAB에서 다음 수량을 정의합니다.tan inverse in matlab 올바른 값을 제공하지 않음
alpha=phi1-phi2;
S1=cos(alpha);
S2=sin(alpha);
K=atan2(S2,S1);
이제 K는 알파와 같아야합니다. 따라서 행렬 B는 다음과 같이 정의됩니다.
B=K-alpha;
은 0이어야합니다. 결과는 다르게 나타납니다. B의 몇몇 요소가 0이지만, 많은 요소의 값은 6.2832 (2pi)입니다. 왜 이런 일이 일어날 수 있습니까?
실제로 phi1과 phi2는 MATLAB에서 각도로 평가됩니다. 따라서 그들의 범위는 -pi와 pi 사이에 있습니다. 알파를 평가할 때 값의 범위는 -pi와 pi 사이에 있지 않습니다. 따라서 atan2는 정확한 알파 값을 제공하지 않습니다. 그러나 베타 = phi1 + phi2를주는 또 다른 방정식이 있기 때문에 정확한 알파 값을 원한다는 것이 있습니다. 그리고 주요 목표는 S1과 S2와 베타 방정식에서 알파를 유도하여 phi1을 평가하는 것입니다. 그 때문에 정확한 알파 값을 원합니다. 하지만 내가 무엇을 시도하든 나는 정확하게 알파를 검색 할 수 없다. 누구든지 뭔가 제안 할 수 있습니까? –