MATLAB弧度与角度转换
发布时间:2016-04-14 17:09:22
发布时间:2016-04-14 17:09:22
复数 z=x+y*i;
其极坐标形式为 z=|z|*e^(i*θ); 其中 θ=arctan(y/x);
|z|=sqrt(x^2+y^2);
弧度计算: θ1=angle(z);
θ1=phrase(z);
θ1=atan(z); 其中的区别可以在MATLAB中使用帮助文档对比观察。
角度和弧度的换算:
θ2=rad2deg(θ1); //rad2deg()函数用来进行将弧度转换成角度
θ3=deg2rad(θ1); //deg2rad()函数用来进行将角度转换成弧度
//这两个函数的使用也可以自行使用帮助文档学习
MATLAB中也可以直接使用角度来进行三角函数的计算:
sind(θ4);
cosd(θ4);
tand(θ4);
atand(θ4); //注意θ4在输入时是角度,只是没有度数特有的符号(°)而已。
注意这里的函数应该不太全,也是我自己搜索得来,MATLAB帮助文档我也没有细看。可以自行查阅。
举例:求sin(30°)。
解:>>sind(30)
>>ans =
0.5
注意这里的都是度数,并没有涉及到分和秒。(一般这种情况都是自己编写相关的程序,而且前面的各种函数也可以自己编写,没有必要一定要使用MATLAB自带的函数。度分秒的计算应该也有自带的函数吧,用过的人可以补充。)
度分秒与度的转换举例:
度分秒进制为依次60.
1°=60‘=3600’‘
1‘=(1/60)°
1’‘==(1/60)'=(1/3600)°
相关题目: 1.105°47‘24’‘
=105°+47*(1/60)°+24*(1/3600)°
=105.79°
注:这里先最好用分数,最后再用小数.
也可先把秒换算成分,然后再把分换算成度.如下:
105°47‘24’‘
=105°+(47‘+24*(1/60)‘)
=105°+(47‘+0.4‘)
=105°+47.4‘
=105°+47.4*(1/60)°
=105°+0.79°
=105.79°
下面是度.分.秒的计算举例(转载自:http://wenku.baidu.com/link?url=rnpQCVFKYnXJji89ip4GM0VfAS6L6F0Ed_SXy5oldBExFWnBc97J4JrwRdko00XmwiXgq0jQPjvHNeYGp0GF9QEj4xnlDiI6o4Gqwh4Ed5q)
1 %度.分秒转化为弧度
function jrad=dtor(deg)
degd=fix(deg);
degf=(deg-degd)*100;
degm=fix(degf);
degs=(degf-degm)/36.0;
jrad=(degd+degm/60.00+degs)*pi/180.0;
2 %弧度转化为度.分秒
function jdeg=rad2deg(rad)
rad=rad*180/pi;
deg=fix(rad);
xsbf=(rad-deg)*60;
degf=fix(xsbf);
degm=(xsbf-degf)*60;
jdeg=deg+degf/100.0+degm/10000.0;
【转】http://www.ilovematlab.cn/thread-438327-1-1.html
dms2degrees函数可以把度分秒转化为以度为单位的小数
注意函数输入不是三个参量,而是一个数组,数组三个元素依次为度分秒的值
dms2degrees(30,20,10) %格式错误!
dms2degrees([30 20 10]) %格式正确
再之后则可以用deg2rad再把角度转换为弧度制,从而可以作为sin,cos等函数的正确输入值
或者也可以直接对角度使用sind,cosd等函数
如果你是要反过来,即求出了弧度值,想转化为度分秒
那就全部倒过来
先用rad2deg,再用degrees2dms
PS:dms2degrees可以直接输入一个n×3的数组,并为你返回一个n×1的数组。其他也同理。所以如果有很多角度需要转换,并不一定要写循环。