【Matlab笔记】测绘工程专业正算、反算、度分秒转弧度函数

上传,作为网络笔记
正算

%%坐标正算函数,起点坐标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)
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值