PSINS工具箱函数介绍——kfplot

在这里插入图片描述

关于工具箱

kfplot是图像绘制的函数,用于绘制关于滤波(前/后)的误差图像
本文所述的代码需要基于PSINS工具箱,工具箱的讲解:

使用方法

函数形式为:
k f p l o t ( x k p k , v a r a r g i n ) kfplot(xkpk, varargin) kfplot(xkpk,varargin)
其中xkpk为卡尔曼滤波的时候生成的滤波值、协方差对角线的数据等值。
剩余的变量为相关误差。

例程实践

运行代码

运行经典的例程test_SINS_GPS_153,最后两张图即为函数kfplot绘制的。
使用的代码为:
k f p l o t ( x k p k , a v p e r r , i m u e r r ) ; kfplot(xkpk, avperr, imuerr); kfplot(xkpk,avperr,imuerr);
其中:

  1. avperr为滤波后的avp误差
  2. imuerr为imu的误差

运行结果

  • 第一张,绘制滤波后的avp误差时序图:
    在这里插入图片描述

  • 第二张,绘制滤波后的avp对应的状态标准差:
    在这里插入图片描述

源代码

function kfplot(xkpk, varargin)
global glv
global psinsdef
    if nargin>1  % kfplot(xk, pk, clm)
        if psinsdef.kfplot==0
            feval(psinsdef.typestr, psinsdef.kfplottag, [{
   xkpk},varargin]); 
            return;
        end
        if size(xkpk,2)==size(varargin{
   1},2)
            if nargin==3, clm=varargin{
   2}; else, clm=1:psinsdef.kfplot; end;
            if length(clm)==1, clm=1:clm; end
            kfplot([xkpk(:,clm),varargin{
   1}(:,[clm,end])]);
            return;
        end
    end
    switch psinsdef.kfplot
        case {
   15,16,18,19} % psinsdef.kfplotxx
            inserrplot(xkpk(:,[1:psinsdef.kfplot,end]));
            if nargin>1
                if psinsdef.kfplot==15
                    trueplot15(varargin);
                elseif psinsdef.kfplot==18
                    trueplot18(varargin);
                elseif psinsdef.kfplot==19
                    trueplot19(varargin);
                elseif psinsdef.kfplot==34
                end
            end
            inserrplot([sqrt(xkpk(:,psinsdef.kfplot+1:end-1)),xkpk(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MATLAB卡尔曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值