logo资料库

matlab方位角计算.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
方位角计算上机报告 注:1.点击‘读取数据并计算’按钮前,先选择测量角倾向 2.所有数据不用手动输入,只需点击读取文件,选择相应文件‘data.xls 图 1 界面设计 即可 图 2 数据表 注:1.点名均为正数 2.方向均为小数,1.2 代表 1 到 2 的方位角 3.初始方位角为某方向点到 1 号点的方位角
图 3 左角计算
图 4 右角计算 代码: function gz=hdgz(h) %弧度改正,控制方位角的区间为0~360 a=s-fix(s/2/pi)*2*pi; a=-floor(s/2/pi)*2*pi+s; elseif s>=0&s<2*pi s=h if s>=2*pi elseif s<0 a=s end gz=a function hu=jdtohd(jd)%角度化弧度 j=jd; d=fix(j); f=fix((j-d)*100); m=(j-d-f/100)*10000; hu=(d+f/60+m/3600)*pi/180;
function jd=hdtojd(hu)%弧度化角度 h=hu; h=h*180/pi; d=fix(h); mm=(h-d)*3600; f=round(mm/60)/100; m=(mm-f*6000)/10000; jd=d+f+m; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) [filename, pathname]=uigetfile('*.xls','ì'); if pathname==0 return end name= [filename, pathname]; dm=xlsread('data.xls','sheet1','A4:A9'); fx=xlsread('data.xls','sheet1','C4:C9'); gs=xlsread('data.xls','sheet1','B1'); jj=xlsread('data.xls','sheet1','B4:B9'); csfwj=xlsread('data.xls','sheet1','B2'); set(handles.listbox1,'string',jj); set(handles.edit1,'string',csfwj); set(handles.edit2,'string',gs); set(handles.listbox3,'string',dm); set(handles.listbox4,'string',fx); csfwjh=jdtohd(csfwj); for i =1:gs jjh(i)=jdtohd(jj(i,1)) end %左角计算 if get(handles.radiobutton1,'value') option=1; jd1=csfwjh+jjh(1)-pi; jd1=hdgz(jd1); for i=2:gs
jd(1)=jd1 jd(i)=jd(i-1)+jjh(i)-pi; jd(i)=hdgz(jd(i)); end for i=1:gs jdj(i)=hdtojd(jd(i)) end set(handles.listbox2,'string',jdj); elseif get(handles.radiobutton2,'value') %右角计算 option=2; jd1=csfwjh-jjh(1)+pi; for i=2:gs jd(1)=jd1 jd(i)=jd(i-1)-jjh(i)+pi; jd(i)=hdgz(jd(i)); end for i=1:gs end jdj(i)=hdtojd(jd(i)) set(handles.listbox2,'string',jdj); end function pushbutton2_Callback(hObject, eventdata, handles) set(handles.edit1,'string',''); set(handles.edit2,'string',''); set(handles.listbox1,'string',''); set(handles.listbox2,'string',''); set(handles.listbox3,'string',''); set(handles.listbox4,'string',''); function radiobutton1_Callback(hObject, eventdata, handles) set(handles.radiobutton2,'value',0); set(handles.radiobutton1,'value',1); function radiobutton2_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'value',0);
set(handles.radiobutton2,'value',1);
分享到:
收藏