⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ellipse.m

📁 利用MATLAB实现了对测量中的平面网
💻 M
字号:
function ellipse(uw0,fit2)%绝对点位误差椭圆
global ed dd pn c x y ai bi fi
fprintf(fit2,'        parameter of error ellipse\n');
fprintf(fit2,'        pn(i)      mx       my         mm         a           b         fi\n');
n=2.0*dd;
maxmm=0.0;
smm=0.0;
for i=1:dd
     ii=ed+i;
     di=(2*i-2)*(n-(2*i-1)/2.0);
     dj=(2*i-1)*(n-i);
     q1=c(di+2*i-1);
     q2=c(dj+2*i);
     q3=c(di+2*i);
     d1=sqrt(abs(q1+q2-q3));
     d=uw0*d1;
     xx=q1-q2;
     yy=2*q3;
     zz=q1+q2;
     mx1=sqrt(q1);
     my1=sqrt(q2);
     mm1=sqrt(zz);
     if(abs(xx)<1d-10)
          fi(i)=sign(90.0,q3);
     else
          fi(i)=atan(yy/xx)*57.2958;
     end
     if(xx>=0.0&yy>=0.0)
          fi(i)=fi(i)/2.0;
     elseif(xx>=0.0&yy<=0.0)
          fi(i)=(fi(i)+360.0)/2.0;
     elseif(xx<0.0)
          fi(i)=(fi(i)+180.0)/2.0;
     end
     ww=sqrt(xx*xx+yy*yy);
     a1=sqrt((zz+ww)/2.0);
     b1=sqrt((zz-ww)/2.0);
     ab1=a1-b1;
     mx=uw0*mx1;
     my=uw0*my1;
     mm=uw0*mm1;
     if(mm>maxmm)
          maxmm=mm;
          i1=ii;
     end
     smm=smm+mm;
     ai(i)=uw0*a1;
     bi(i)=uw0*b1;
     ab=ai(i)-bi(i);
     fprintf(fit2,' %10d %10.3f %10.3f %10.3f %10.3f %10.3f %10.3f\n',pn(ii),mx,my,mm,ai(i),bi(i),fi(i));
end
smm=smm/dd;
fprintf(fit2,'        mse of unit weight=  %9.6f\n',uw0);
fprintf(fit2,'        the maximum station error mm= %8.3f (cm)   pn=   %4d\n',maxmm,pn(i1));
fprintf(fit2,'        the average station error  mm=   %8.3f\n',smm);
return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -