我想將角度從弧度轉換爲degress。我知道Matlab 2014有一個內置函數可以做到這一點,但是在我的具體情況下,這個函數還不夠好。基本上,角度pi/2是90deg和-pi/2也是90deg,但是我需要270deg作爲-pi/2的答案。把它看作弧度/度數圈,我需要每次逆時針計數角度。Radians to度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循環的數量。因此,我想知道是否有更簡單的方法來做我想做的事。也許我錯過了一個Matlab函數?
感謝,
尼斯和優雅。 +1 – rayryeng
非常好,簡單的解決方案,謝謝! – user5489