Home > mfiles > part6.m

part6

PURPOSE ^

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 clear;
0002 
0003 nsats = 8;
0004 
0005 rho = 26570*1000; % distance from origin in meters
0006 
0007 niter = 10;
0008 
0009 x0 = [ 0 0 6370 0 ]';
0010 
0011 % backward error (i.e. input error)
0012 delta_t = [ 10^-6 10^-7 10^-8 10^-9 10^-10 10^-11 10^-12 ];
0013 delta_t = fliplr(delta_t);
0014 
0015 emf = zeros(niter,1);
0016 err = zeros(niter,1);
0017 maxEMF = zeros( length(delta_t), 1 );
0018 minEMF = zeros( length(delta_t), 1 );
0019 maxERR = zeros( length(delta_t), 1 );
0020 
0021 distEMF = zeros( length(delta_t), niter );
0022 distERR = zeros( length(delta_t), niter );
0023 
0024 for x = 1:niter,
0025     for i = 1:length(delta_t),
0026         for j = 1:niter,
0027             sat = genRandomSatellites( nsats, rho );
0028             [emf(j), err(j)] = pertubateClockError( sat, x0, delta_t(i), @solveNavEqns3 );
0029         end % END for j
0030         maxEMF(i) = max(emf);
0031         minEMF(i) = min(emf);
0032         maxERR(i) = max(err); 
0033     end % END for i
0034     distEMF(1:length(maxEMF),x) = maxEMF;
0035     distERR(1:length(maxERR),x) = maxERR;
0036 end % END for x
0037 
0038 meanEMF = zeros( length(delta_t), 1 );
0039 meanERR = zeros( length(delta_t), 1 );
0040 % take the avg of the randomized trend
0041 for i = 1:length(delta_t),
0042     meanEMF(i) = mean(distEMF(i,1:niter));
0043     meanERR(i) = mean(distERR(i,1:niter));
0044 end
0045 
0046 figure(7);
0047 semilogx(delta_t, meanEMF,'b-',delta_t, meanEMF,'ro');
0048 ylabel('cond(EMF)');
0049 xlabel('clock error');
0050 title('cond vs clock error');
0051 
0052 figure(8);
0053 semilogx(delta_t, meanERR,'b-',delta_t, meanERR,'ro');
0054 ylabel('position error (m)');
0055 xlabel('clock error');
0056 title('position error vs clock error');
0057 
0058 figure(9);
0059 semilogx(delta_t(1:3), meanERR(1:3),'b-', delta_t(1:3), meanERR(1:3),'ro');
0060 set(gca,'XTick', delta_t(1:3));
0061 ylabel('position error (m)');
0062 xlabel('clock error');
0063 title('position error vs clock error');

Generated on Sat 22-Feb-2014 01:14:24 by m2html © 2005