您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > matlab-GPS单点定位程序设计报告
GPS卫星位置计算程序设计报告学院:专业班级:学生姓名:学生学号:指导老师:设计目的运用计算机语言和课本内容结合进行编程,更多熟悉专业知识。设计工具MatlabR2010b设计代码%读取数据..........[fid,msg]=fopen('单点定位实验数据.txt','r');[arr_skip,count]=fscanf(fid,'%s',5);arr_data=textscan(fid,'%d%f%f%f%f',-1);satellite_num=arr_data{1};dis=arr_data{2};x_coor=arr_data{3};y_coor=arr_data{4};z_coor=arr_data{5};dis_app=1:6;L=[0;0;0;0;0;0];B=[L,L,L,L];X=0;Y=0;Z=0;fort=1:10forii=1:6t1=(x_coor(ii)-X)^2;t2=(y_coor(ii)-Y)^2;t3=(z_coor(ii)-Z)^2;dis_app(ii)=sqrt(t1+t2+t3);endforii=1:6B(ii,1)=(x_coor(ii)-X)/dis_app(ii);B(ii,2)=(y_coor(ii)-Y)/dis_app(ii);B(ii,3)=(z_coor(ii)-Z)/dis_app(ii);B(ii,4)=-1;L(ii)=dis(ii)-dis_app(ii);enddx=-inv(B'*B)*B'*L;X=X+dx(1);Y=Y+dx(2);Z=Z+dx(3);end%结果显示str1=[X];str2=[Y];str3=[Z];%计算L%L_l=atan(Y/X)L_l=asin(Y/sqrt(X^2+Y^2));L_b=atan(Z/sqrt(X^2+Y^2));%计算椭球的相关参数sqr_e=0.00669437999013;forii=1:5L_b1=L_b;L_b=atan((Z+(X/cos(L_l)/cos(L_b1))*sqr_e*sin(L_b1))/sqrt(X^2+Y^2));end%精度评定v=B*dx+L;sigma0=sqrt(v'*v/2)t1=sin(L_b);t2=cos(L_b);t3=sin(L_l);t4=cos(L_l);r=[-t1*t4,-t1*t3,t2;-t3,t4,0;t2*t4,t2*t3,t1];Qx=inv(B'*B);qx=Qx(:,1:3);qx=qx(1:3,:);qb=r*qx*r;%平面位置精度因子HDOP=sqrt(qb(1,1)/L_l+qb(2,2));Mh=HDOP*sigma0;%高程精度因子VDOP=sqrt(qb(3,3));Mv=VDOP*sigma0;%空间位置精度因子PDOP=sqrt(qx(1,1)+qx(2,2)+qx(3,3));Mp=PDOP*sigma0;%接收机钟差精度因子TDOP=sqrt(Qx(4,4));Mt=TDOP*sigma0;%几何精度因子GDOP=sqrt(Qx(1,1)+Qx(2,2)+Qx(3,3)+Qx(4,4));Mg=GDOP*sigma0;%输出结果str4=[HDOP];str5=[VDOP];str6=[PDOP];str7=[TDOP];str8=[GDOP];str0=[sigma0];str=[str1,str2,str3,str4,str5,str6,str7,str8,str0];set(handles.edit1,'string',str);运行界面课程设计感想这次专业的最后一次实验所以拖得有点久,因为这次有矩阵计算的代码matlab对矩阵的计算很方便,所以考虑使用了matlab来编程,对于matlab不是很熟悉所以界面设计的有点简单,在代码中就写入了读取的文件直接拿来用算,时间赶得有点紧但是还是完成了试验,下次要多研究下matlab了,这门语言对编程还是非常有用的。
本文标题:matlab-GPS单点定位程序设计报告
链接地址:https://www.777doc.com/doc-5872299 .html