각도를 라디안에서 degress로 변환하고 싶습니다. Matlab 2014에는 빌드 인 함수가 있지만,이 함수는 내 구체적인 경우에 충분하지 않습니다. 기본적으로 각도 pi/2는 90deg이고 -pi/2도 90deg이지만 -pi/2에 대한 대답으로 270deg가 필요합니다. 각도를 라디안 /도로 생각하면 매번 시계 반대 방향으로 각도를 계산해야합니다. 나는 다음 (단순) 예를 사용하여 테스트 할 때Radians to degrees Matlab
function [Angle_deg] = Func_Rad2Deg(Angle_rad)
Angle_deg = Angle_rad * (180/pi);
if Angle_deg < -1
Angle_deg = Angle_deg + 360;
elseif Angle_deg >= -1e-6 && Angle_deg <= 1e-6
Angle_deg = 0;
end
end
그러나 뭔가 잘못 : 내가 만든
기능은 다음과 같다.
clear all; close all; clc;
%% Tester
vec = [pi -pi pi/2 -pi/2];
vec_deg1 = Func_Rad2Deg(vec);
for i=1:size(vec,2)
vec_deg2(i) = Func_Rad2Deg(vec(i));
end
는 출력 : 내가 벡터를 변환 할 때
는 위의 예에서 볼 수 있듯이vec_deg1 =
180 -180 90 -90
vec_deg2 =
180 180 90 270
, 나는 -pi/2에 대한 잘못된 답변을 얻을. 그러나 루프를 사용할 때 응답이 원하는 것입니다. 이 예제는 간단한 예제입니다. 변환 할 최대 1000x1000 행렬이 있으므로, for-loops 수를 제한하고 싶습니다. 그러므로 내가 원하는 것을 쉽게 할 수있는 방법이 있는지 궁금해하고있었습니다. 어쩌면 내가 Matlab 함수를 놓친 것일까?
감사합니다,이 방법에 대해
니스와 우아한 :
이것은 또 다른 방법이 될 수 있습니다. +1 – rayryeng
아주 좋고 간단한 해결책, 감사합니다! – user5489