基于matlab的坐标正反算.pdfVIP

  • 62
  • 0
  • 约3.97千字
  • 约 6页
  • 2021-06-20 发布于湖南
  • 举报
基于 matlab 的坐标正反算 测量程序设计 实验报告 实验名称 : 坐标正反算 实验三 坐标正反算 一、实验目的 编写坐标正反算程序 , 并对格式化文件数据进行计算 , 验证程序。 二、实验内容 1、编写坐标正算程序 1)建立以 xy_direct 命名的函数 , 函数输入输出格式为 [x2,y2] = xy_direct(x1,y1,distance, azimuth) 度转度分秒 : function dms= degree2dms(jiaodu) degree = fix(jiaodu); mimute = fix((jiaodu-degree)*60); second = ((jiaodu-degree)*60-mimute)*60; dms = degree+mimute/100+second/10000; 度分秒转度 : 基于 matlab 的坐标正反算 function degree = dms2degree(jiaodu) degree = fix(jiaodu); mimute = fix((jiaodu-degree)*100); second = (jiaodu-degree-mimute/100)*10000; degree = degree+mimute/60+second/3600; 弧度转度 : function dms=rad2dms(rad) rad=abs(rad); jiaodu=rad*180 、0/pi; % l=fix(a) % b=(a-l)*60 、0 % m=fix(b) % a=l+m/100 、0+(b-m)*0 、006 % if(rad0) % dms=-a; % else % dms=a; % end degree = fix(jiaodu); mimute = fix((jiaodu-degree)*60); 基于 matlab 的坐标正反算 second = ((jiaodu-degree)*60-mimute)*60; dms = degree+mimute/100+second/10000; if(rad0) dms=-dms; else dms=dms; end return function [x2,y2] = xy_direct(x1,y1,distance, azimuth) x2=x1+distance 、*cos(azimuth*pi/180); y2=y1+distance 、*sin(azimuth*pi/180); end 2) 对文件 data1 、txt 中数据进行坐标正算 , 并将已知点与计算点坐标按照格式 存贮在文件 data2 、txt 中, data1 、txt 格式为 : x1 y1 距离 方位角 (dd 、mmss) data2 、txt 格式为 : x1 y1 x2 y2 []=uigetfile; file=[pathname,]; data=importdata(file); 基于 matlab 的坐标正反算 %[x1,y1]=data 、data(:,[1,2]); azimuth=dms2degree(data 、data(:,4)); distance=data 、data(:,3); %[x2,y2]=xy_direct(x1,y1,distance,azimu

文档评论(0)

1亿VIP精品文档

相关文档