1 / 7
文档名称:

基于matlab的坐标正反算.doc

格式:doc   大小:18KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于matlab的坐标正反算.doc

上传人:2072510724 2018/10/14 文件大小:18 KB

下载得到文件列表

基于matlab的坐标正反算.doc

文档介绍

文档介绍:测量程序设计
实验报告
实验名称:坐标正反算
实验三坐标正反算
一、实验目的
编写坐标正反算程序,并对格式化文件数据进行计算,验证程序。
二、实验内容
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=