文档介绍:测量程序设计
实验报告
实验名称:坐标正反算
实验三坐标正反算
一、实验目的
编写坐标正反算程序,并对格式化文件数据进行计算,验证程序。
二、实验内容
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;
度分秒转度:
>> 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*;
>> % l=fix(a)
>> % b=(a-l)*
>> % m=fix(b)
>> % a=l+m/+(b-m)*
>> % if(rad<0)
>> % dms=-a;
>> % else
>> % dms=a;
>> % end
>> degree = fix(jiaodu);
>> mimute = fix((jiaodu-degree)*60);
>> second = ((jiaodu-degree)*60-mimute)*60;
>> dms = degree+mimute/100+second/10000;
>> if(rad<0)
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) ,,
: x1 y1 距离方位角()
:
x1 y1 x2 y2
>> [filename,pathname]=uigetfile;
>> file=[pathname,filename];
>> data=importdata(file);
>> %[x1,y1]=(:,[1,2]);
>> azimuth=