度分秒与度数相互转换的Matlab函数
生活随笔
收集整理的這篇文章主要介紹了
度分秒与度数相互转换的Matlab函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 簡介
- 度分秒轉換為度數的函數
- 度數轉換為度分秒的函數
簡介
在數學中,表示角度的度、分、秒分別使用°、′、″符號進行表示。
1°=60′,1′=60″ ,1°=3600″。
在表示經緯度時,常常會用到度數和度分秒兩種表示方法,例如深圳的經緯度為北緯N22°32′43.86″, 東經E114°03′10.40″。用度數表示則是北緯N22.54551667°,東經E114.05288889°。
這里我們利用Matlab,給出了兩種格式相互轉換的函數。
度分秒轉換為度數的函數
function degrees = dms2d(degree, minute, second)% degree, minute and second to degrees % e.g., degrees = dms2d(22, 32, 43.86) % Yuechu Wu % 12131066@mail.sustech.edu.cn % 2022-09-13% format long% significant digits after decimal point sd = 8;degrees = degree + minute/60 + second/3600; degrees = vpa(degrees, sd+length(num2str(degree)));end如果需要改變有效小數位數,可以修改函數中的sd變量。
利用這個函數,我們可以將深圳的經緯度換算成度數的格式:
度數轉換為度分秒的函數
function [degree, minute, second] = d2dms(degrees)% degrees to degree, minute and second % e.g., [degree, minute, second] = d2dms(22.54551667) % Yuechu Wu % 12131066@mail.sustech.edu.cn % 2022-09-13% significant digits after decimal point sd = 2;degree = fix(degrees); minute = fix((degrees - degree) * 60); second_int = fix((degrees - degree - minute/60)*3600); second = (degrees - degree - minute/60)*3600; second = vpa(second, sd+length(num2str(second_int)));end同樣的,我們可以將度數轉換為度分秒:
>> [degree, minute, second] = d2dms(22.54551667)degree =22minute =32second =43.86>> [degree, minute, second] = d2dms(114.05288889)degree =114minute =3second =10.4總結
以上是生活随笔為你收集整理的度分秒与度数相互转换的Matlab函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux获取weblogic版本,LI
- 下一篇: 源码安装mysql数据库_Linux下源