📄 drawerror.m
字号:
function DrawError(record,Algorithm_PM)
disp(' Drawing the Navigation Information');
fig=0;
fig=fig+1;figure(fig); % draw the align
subplot(3,3,1);plot(record.time,1000*record.align(:,1),'r',record.time,1000*record.align(:,4),'g');ylabel('alpha(mrad)');
subplot(3,3,4);plot(record.time,1000*record.align(:,2),'r',record.time,1000*record.align(:,5),'g');ylabel('beta(mrad)');
subplot(3,3,7);plot(record.time,1000*record.align(:,3),'r',record.time,1000*record.align(:,6),'g');ylabel('gama(mrad)');xlabel('time(s)');
subplot(3,3,2);plot(record.time,180/pi*record.align(:,1),'r',record.time,180/pi*record.align(:,4),'g');ylabel('alpha(deg)');
subplot(3,3,5);plot(record.time,180/pi*record.align(:,2),'r',record.time,180/pi*record.align(:,5),'g');ylabel('beta(deg)');
subplot(3,3,8);plot(record.time,180/pi*record.align(:,3),'r',record.time,180/pi*record.align(:,6),'g');ylabel('gama(deg)');xlabel('time(s)');
subplot(3,3,3);plot(record.time,180/pi*(record.align(:,1)-record.align(:,4)),'b');ylabel('alpha error(deg)');
subplot(3,3,6);plot(record.time,180/pi*(record.align(:,2)-record.align(:,5)),'b');ylabel('beta error(deg)');
subplot(3,3,9);plot(record.time,180/pi*(record.align(:,3)-record.align(:,6)),'b');ylabel('gama error(deg)');xlabel('time(s)');
fig=fig+1;figure(fig); % draw the attitude
subplot(3,2,1);plot(record.time,180/pi*record.attitude(:,1),'r',record.time,180/pi*record.attitude(:,4),'g');ylabel('alpha(deg)');
subplot(3,2,3);plot(record.time,180/pi*record.attitude(:,2),'r',record.time,180/pi*record.attitude(:,5),'g');ylabel('beta(deg)');
subplot(3,2,5);plot(record.time,180/pi*record.attitude(:,3),'r',record.time,180/pi*record.attitude(:,6),'g');ylabel('gama(deg)');xlabel('time(s)');
subplot(3,2,2);plot(record.time,180/pi*record.attitude(:,7),'c',record.time,180/pi*record.attitude(:,10),'g');ylabel('alpha(deg)');
subplot(3,2,4);plot(record.time,180/pi*record.attitude(:,8),'c',record.time,180/pi*record.attitude(:,11),'g');ylabel('beta(deg)');
subplot(3,2,6);plot(record.time,180/pi*record.attitude(:,9),'c',record.time,180/pi*record.attitude(:,12),'g');ylabel('gama(deg)');xlabel('time(s)');
fig=fig+1;figure(fig); % draw the position
plot(180/pi*record.path(:,2),180/pi*record.path(:,1),'r'),xlabel('Longitude (deg)'),ylabel('Latitude (deg)');
hold on,
plot(180/pi*record.path(:,4),180/pi*record.path(:,3),'c');
plot(180/pi*record.path(:,6),180/pi*record.path(:,5),'g'),
hold off;
fig=fig+1;figure(fig); % draw the alignment error (mrad)
subplot(3,1,1);plot(record.time,180/pi*(record.align(:,4)-record.align(:,1)),'r');ylabel('\alpha (度)');
subplot(3,1,2);plot(record.time,180/pi*(record.align(:,5)-record.align(:,2)),'r');ylabel('\beta (度)');
subplot(3,1,3);plot(record.time,180/pi*(record.align(:,6)-record.align(:,3)),'r');ylabel('\gamma (度)');xlabel('时间(秒)');
fig=fig+1;figure(fig); % draw the alignment error (deg)
subplot(3,1,1);plot(record.time,180/pi*record.align(1,4)*ones(size(record.align(:,4))),'g-.',record.time,180/pi*(record.align(:,1)-record.align(:,4)+record.align(1,4)),'r-');ylabel('\alpha (度)'); legend('真实值','估计值');
subplot(3,1,2);plot(record.time,180/pi*record.align(1,5)*ones(size(record.align(:,5))),'g-.',record.time,180/pi*(record.align(:,2)-record.align(:,5)+record.align(1,5)),'r-');ylabel('\beta (度)');
subplot(3,1,3);plot(record.time,180/pi*record.align(1,6)*ones(size(record.align(:,6))),'g-.',record.time,180/pi*(record.align(:,3)-record.align(:,6)+record.align(1,6)),'r-');ylabel('\gamma (度)');xlabel('时间(秒)');
switch Algorithm_PM.error
case 'Consider'
fig=fig+1;figure(fig); % draw the estimation error of gyro drift
subplot(3,1,1);plot(record.time,(record.cal(:,3))/(0.01*pi/180/3600),'-.m'); ylabel(' (0.01 deg/h)');
subplot(3,1,2);plot(record.time,(record.cal(:,4))/(0.01*pi/180/3600),'-.m'); ylabel(' (0.01 deg/h)');
subplot(3,1,3);plot(record.time,(record.cal(:,5))/(0.01*pi/180/3600),'-.m');ylabel('(0.01 deg/h)');xlabel('时间(s)');
fig=fig+1;figure(fig); % draw the estimation error of accelorameter bias
g=9.8;
subplot(2,1,1);plot(record.time,(record.cal(:,1))/(1e-5*g),'-.m');ylabel(' (1e-5g deg/h)');
subplot(2,1,2);plot(record.time,(record.cal(:,2))/(1e-5*g),'-.m');ylabel('(1e-5g deg/h)');xlabel('时间(s)');
case 'LevelArm_Consider'
fig=fig+1;figure(fig);
subplot(3,1,1);plot(record.time,record.levelarm(:,1),'-.m'); ylabel(' (m');
subplot(3,1,2);plot(record.time,record.levelarm(:,2),'-.m'); ylabel(' (m)');
subplot(3,1,3);plot(record.time,record.levelarm(:,3),'-.m');ylabel('(m)');xlabel('时间(s)');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -