上传,作为网络笔记
正算
%%坐标正算函数,起点坐标x1,y1
function [x2,y2]=zhengsuan(x1,y1,A,L)
x2=x1+L*cos(A)
y2=y1+L*sin(A)
end
反算
function [L,A]= fansuan(x1,y1,x2,y2)
dy=y2-y1
dx=x2-x1
L=sqrt(dy^2+dx^2)
A=atan(dy/dx)
end
度分秒转为弧度
function [rad]=dfm2rad(dfm)%dfm为一行三列矩阵,分别存储度分秒
sec=dfm(3,1:1)%提取秒
min=dfm(2,1:1)%提取分
deg=dfm(1,1:1)%提取度
ang=deg+min/60+sec/3600%合成角度值
rad=ang*pi/180%角度转弧度
end
代码测试文件
%%主函数文件,调用函数文件计算
L=[36;36;36]
rad1=dfm2rad(L)
%%
%%坐标正反算,测试用例:
% 起点(100,100),终点(160.43,165.25),L=88.9345,A=47,11,46.66
x1=100,y1=100
x2=160.43,y2=165.25
L=88.9345
A=dfm2rad([47;11;46.66])
%%
%正算:
[X2,Y2]=zhengsuan(x1,y1,A,L)
%%
%反算
[L1,A1]=fansuan(x1,y1,x2,y2)