卡尔曼滤波算法的matlab实现

卡尔曼滤波算法的matlab实现

figure;
hold on;Z=(1:1:100);  %观测值:第一秒观测1m 第二秒观测两米  匀速运动, 每秒1m,  最后拟合的也是速度 1m/splot(Z);
plot([0,100], [1,1]);noise=randn(1,100)*0.5;  %生成方差为1的高斯噪声
Z=Z+noise;  % 加入噪声plot(Z);X=[0;0];  %初始状态 随意设置; 经过几次迭代后,接近真实的状态
P=[1 0;0 1];  %状态协方差矩阵 :随意设置;   经过几次迭代后,接近真实的状态
F=[1 1;0 1];  %状态转移矩阵, \Delta{t} 为 1, 每 秒采样一次
Q=[0.0001, 0;0 0.0001];  % 状态转移协方差矩阵:因为相信状态转移矩阵不会出错, 因此 Q方差 很小
H=[1 0];  % 观测矩阵
R=cov(noise);  % 观测矩阵协方差, 与加入的方差为1的高斯噪声相对应;for i=1:100X_=F*X;  % 预测状态公式, 代码中缺乏控制量P_=F*P*F'+Q;K=P_*H'/(H*P_*H'+R);X=X_+K*(Z(i)-H*X_);P=(eye(2)-K*H)*P_;  % eye(2)是二阶单位阵% plot(X(1),X(2),'x');scatter(Z(i), X(1),'.');  % 画点, 横轴表示位置, 纵轴表示速度scatter(Z(i), X(2),'.');  % 画点, 横轴表示位置, 纵轴表示速度end%plot(Z, Z)

实验结果图:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW动态力传感器校准系统

LabVIEW动态力传感器校准系统 开发了一种基于LabVIEW的动态力传感器校准系统。系统主要用于动态力的测量和校准,通过高度集成化和自动化的设计,显著提升校准的效率和精确度。系统采用冲击法进行动态校准,涵盖了完整的硬件设计和软件开发流程…

智能体应用开发:构建各类垂直领域的ai智能体应用

最近在做个类似的项目,有用到这方面的知识,顺便做一些记录和笔记吧,希望能帮到大家了解智能体应用开发 目录 引言 AI原生应用的兴起 智能体在AI中的角色 实现原理详解 机器学习基础 数据管理与关联数据库 数据结构 Embedding 检索方…

卫星位置解算

前言: 本章节代码均在Gitee中开源: 卫星位置计算代码https://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/GPS%E5%8D%AB%E6%98%9F%E4%BD%8D%E7%BD%AE%E8%A7%A3%E7%AE%97/Satellit…

心怀希望の光栅化

还记得什么是光栅化咩? 将三维空间的几何形体显现在屏幕上,这就是光栅化(游戏、实时图形学的应用) Perspective Projection 在正交投影里如何定义三维空间中的立方体呢? 用x轴的覆盖(左、右)…

【UML用户指南】-02-UML基本元素的介绍(二)

目录 1、语法和语义规则 2、UML中的公共机制 (1)规约 (2)修饰 (3)通用划分 (4)扩展机制 衍型/版型/类型(stereotype) 标记值 (tagged val…

Java编程常见问题汇总四

系列文章目录 文章目录 系列文章目录前言一、忽略所有异常二、重复包装RuntimeException三、不正确的传播异常四、用日志记录异常五、异常处理不彻底 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。…

[C/C++]_[初级]_[在Windows和macOS平台上导出动态库的一些思考]

场景 最近看了《COM本质论》里关于如何设计基于抽象基类作为二进制接口,把编译器和链接器的实现隐藏在这个二进制接口中,从而使用该DLL时不需要重新编译。在编译出C接口时,发现接口名直接是函数名,比如BindNativePort,怎么不是_BindNativePort?说明 VC++导出的函数默认是使…

Google Earth Engine精度评价方法

今天讲讲如何在GEE中做最后的精度评价。主要是因为在和许多读者或通过交流群,或通过私聊沟通过程中,发现很多人还不是很理解在GEE中分类后精度评价的问题。 在进行评价之前,需要明晰在GEE中精度评价分为哪几种情况。我们这里说的是两种情况。…

收藏品NFT的开发流程

开发收藏品NFT的流程涉及多个阶段,从概念化和设计到技术实现和市场推广。以下是详细的开发步骤,通过这些步骤,可以成功开发和发布收藏品NFT项目,吸引用户和投资者,并确保项目的持续运营和成功。北京木奇移动技术有限公…

Fiddler入门(接口抓包及APP测试)

目录 一、Fiddler基础介绍 二、Fiddler的作用 三、Fiddler安装 四、Fiddler界面功能介绍 1、界面介绍 1)、菜单栏介绍 2)、工具栏介绍 3)、会话栏介绍 五、Fiddler抓取https数据 (面试题) 六、Fiddler…

【刷题(17)】技巧

一 技巧基础 二 136. 只出现一次的数字 1 题目 2 解题思路 哈希表map 其实看到题目数组中某个元素出现的次数也可以直接用unordered_map容器统计每一个元素出现的次数,然后在遍历整个map容器查看是否有元素出现的次数等于1 3 code class Solution { public:in…

商城项目【尚品汇】07分布式锁-2 Redisson篇

1 Redisson功能介绍 基于自定义setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用…

将HTML页面中的table表格元素转换为矩形,计算出每个单元格的宽高以及左上角坐标点,输出为json数据

export function huoQuTableElement() {const tableData []; // 存储表格数据的数组let res [];// 获取到包含表格的foreignObject元素const foreignObject document.getElementById(mydctable);if (!foreignObject){return ;}// 获取到表格元素let oldTable foreignObject…

Nativefier : 将网址打包成exe桌面程序

1、需求场景 在日常开发中,需要针对一些网页在一体机上使用,同时在浏览器上也可以使用,这里推荐大家用nativefier,对网址进行打包。以下是nativefier安装命令: npm install nativefier -g 2、使用方法 --arch 系统 …

《混凝土坝监测仪器系列型谱》修订中监测仪器分类方案解读

随着科技的不断进步和监测需求的日益增加,对监测仪器分类方案进行修订已成为必然的趋势。本文旨在探讨《混凝土坝监测仪器系列型谱》中对现有仪器分类方式的修订,以及监测仪器选用的相关内容。希望对大家中有所帮助: 一、取消过时条目&#x…

java中方法引用

目录 方法引用: 引用静态方法 引用成员方法 引用构造方法 使用类名引用成员方法 引用数组的构造方法 练习 方法引用: 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 在Java中,方法引用是一种简化Lambda表达式的…

教务管理系统-学员办理体系介绍

随着时代的快速开展,教育方面也没落下,不仅是线下线上都呈现许多训练校园,办理软件也顺势而为的呈现广阔训练校园面前,许多的校园和训练组织也都在运用教务管理系统了。运用教务管理系统里边的学员办理体系可以让相应的办理人员更…

Redis的一致性

一、产生的原因 使用缓存,在进行写操作的时候就会出现不一致的问题。 一致性分为三类:强一致性,弱一致性,最终一致性 二、方案 2.1 延时双删 在更新数据库的操作前后分别进行一次删除缓存的操作,并在更新数据库之后…

《HelloGitHub》第 98 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

容器化部署fastdfs文件存储

目录 一、软件信息 二、构建fastdfs镜像 三、docker 启动fdfs服务 四、k8s部署fdfs服务 1、fdfs部署文件 五、外部服务访问 一、软件信息 fastdfs版本:fastdfs:V5.11 libfastcommon版本: V1.0.36 fastdfs-nginx-module版本:V1.20 nginx版本&…