自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

原创 卡尔曼滤波公式推导(2)

上一篇文章从概率密度函数的角度推导了卡尔曼滤波公式(卡尔曼滤波公式推导(1)),接下来从矩阵的最小二乘法的角度来推导。在预测和更新阶段分别能得到两个近似状态向量真实值的值,记为x^predict=x^k−\hat x^{predict}=\hat x_k^{-}x^predict=x^k−​和x^measure=Hk−1zk\hat x^{measure}=H_k^{-1}z_kx^measure=Hk−1​zk​,通过加权平均(互补滤波)得到最终的后验估计值x^k=x^predict+G(x^measu

2021-08-01 13:21:11 314

原创 卡尔曼滤波公式推导(1)

一、背景知识卡尔曼滤波器和其衍生出来的一系列滤波器被验证是行之有效的多源数据融合方法,在工程上有广泛的应用。大家都知道卡尔曼滤波器分为预测和更新两个过程,一共有5个公式,但是很多人不知道公式是怎么推导出来的。这两篇文章会用两种方式详细推导卡尔曼滤波器的公式。卡尔曼滤波器的5个经典公式如下:预测(时间更新过程)x^k−=Akx^k−1+Bkuk+wk\hat x_k^{-}=A_k\hat x_{k-1}+B_ku_{k}+w_kx^k−​=Ak​x^k−1​+Bk​uk​+wk​P^k−=AkPk

2021-07-31 00:37:56 588

原创 一种计算标准差的高效方法:Welford迭代法

标准差(Standard Deviation)是概率统计学上非常重要的概念,它被用来描述一组数据的离散程度。根据标准差的定义,总体标准差σ表示为:而样本标准差S表示为:总体标准差还有另外一种表示方式:以上的两种总体标准差计算方法都有三个明显的问题:代码实现时需要用一个数组来保存所有要计算的数据,如果数据比较大,那么会耗费非常大的空间。计算时需要对数组总体进行两次遍历,一次计算平均值,一次计算平方,数据较多时耗时也非常大。对于数据整体差距不大的情况,由于对接近0的浮点数做了平方计算,在数据非常多

2020-09-27 23:48:25 5288

原创 Markdown:如何修改插入图片的大小或比例

在Markdown编辑器中插入图片有两种方法:第一种插入图片方法直接插入图片,即复制一张图片然后直接粘贴到编辑器里。不同编辑器的显式方式不同,有的是显式".png"的文件名,图片以附件形式存在,有的是会自动上传到网上,然后以url形式显式。例如csdn的markdown编辑器就是自动将图片上传,然后以url形式显式。这个url可以看出csdn是把图片上传到了阿里云OSS上,并且调用了x-os...

2020-03-22 14:03:16 5328 1

原创 龙格库塔(Runge-Kutta)法求四元数微分方程

文章目录一、背景知识1. 坐标系2. 四元数四元数的矩阵形式四元数与旋转的关系二、数学模型1. 四元数微分方程2. 四元数微分方程的矩阵形式三、常微分方程的初值问题1. 欧拉法2. 显式梯形法3. 中点法4. 泰勒法5. 龙格库塔法龙格库塔法的一般形式四阶龙格库塔法四、龙格库塔法求解四元数微分方程五、四元数转欧拉角一、背景知识陀螺仪是一种测量角运动的装置,在导航、运动检测、姿态检测等方面有着非...

2020-03-16 00:45:23 9475 3

原创 MAC搭建开发环境(C/C++/Python)

以前只在linux和windows上开发过,mac搭建开发环境花了一些时间,以下是为C/C++/Python开发搭建的环境,还有一些功能正在摸索,会不断更新。软件安装1.IDEClion(基于IntelliJ的C/C++跨平台IDE,收费)PyCharm(Python开发环境,收费)KDevelop(C/C++跨平台IDE,免费)Visual Studio Code(支持多种开发语...

2020-03-08 17:42:43 1128 1

原创 线性代数:矩阵的逆

关于矩阵的逆有很多性质和定理,例如,可逆矩阵一定是方阵、满秩矩阵、非奇异矩阵,可逆矩阵的行列式的值不为零等等。在证明一个矩阵是不可逆矩阵时,Strang教授讲了一种几何的思路:矩阵不可逆的证明根据可逆矩阵的定义,如果方阵A∗B=I\mathbf{A} * \mathbf{B}=\mathbf{I}A∗B=I,则A\mathbf{A}A和B\mathbf{B}B互称逆矩阵。下面是一个二维不可逆矩...

2020-03-07 20:05:03 1687

原创 线性代数:矩阵乘法

矩阵B\bf BB右乘矩阵A\bf AA,则相当于对A\bf AA进行列变换,矩阵B\bf BB左乘矩阵A\bf AA,则相当于对A\bf AA进行行变换。矩阵A\bf AA和矩阵B\bf BB相乘的结果C\bf CC是A\bf AA的线性组合。假设矩阵A=[a11a12a13a21a22a23a31a32a33]=[col1col2col3]=[row1row2row3]\mathbf{A}=...

2020-03-07 19:59:09 862

原创 线性代数:方程组的几何解释

假设有方程组A[xyz]=b\bf A\begin{bmatrix} x \\ y \\ z \end{bmatrix}=\bf bA⎣⎡​xyz​⎦⎤​=b,A=[col1col2col3]\bf A = \begin{bmatrix}\bf col_1&\bf col_2&\bf col_3\end{bmatrix}A=[col1​​col2​​col3​​],可以看成x∗co...

2020-03-07 19:57:22 241

原创 线性代数

最近有三个物理学家和著名数学家陶哲轩一起发表了一篇文章,文章揭露了一个线性代数新发现–矩阵特征向量的新解法,该解法减少了求解特征向量时的计算量,不管是对科学界还是科技领域而言都是有非常重要意义的。虽然看不懂这种新解法,但是在实际工作中也感受到了线性代数的重要性和魅力,于是决定重新学习和整理一些线性代数的基础知识。这个系列文章主要来自听MIT的Gilbert Strang教授的线性代数课程后做...

2020-03-07 19:55:51 167

原创 Matlab:title输入字符串中的下划线字符会显示成下标,如何处理?

在用Matlab画图的时候发现,title函数中的字符串如果包含下划线,下划线会被显示成下标。例如,title(‘example_1’)会出现如下显示:这是因为在Matlab中,title函数会默认按照’tex’格式解释输入的字符串,下划线会变成下标,而"^"符号则变成上标。除此之外,还可以通过转义符号“\”来表示一些特殊符号,如“\alpha”可以表示希腊字母α\alphaα。例如,输入t...

2020-02-23 22:46:18 9604 2

原创 Matlab:如何判断变量是否存在

判断某个变量是否存在Matlab相对于C/C++等编程语言来说,变量的使用更加灵活,需要使用某个变量时,直接新建变量赋值即可,大部分情况下还不需要考虑变量类型。这样的方式给初学者带来了方便,但同时也牺牲了内存空间,而且导致对变量的管理很差。Matlab是一种解释性编程语言,运行起来才知道代码有没有错,如果我们引用了一个没有赋值过的变量,则会报“undefined”的错误。所以,在较为复杂的Ma...

2020-02-22 18:04:27 17977

原创 git合并不同仓库的修改

git合并不同仓库的修改有时候新的方案是衍生至老的方案,很多问题在老方案都有解决方案了,如何把老方案的修改合并到新的方案? 这里提供一种解决方法,前提是在两个仓库中的代码路径是一致的,文件名是一致的,这样子才能cherry-pick过去,如果不一致,cherry-pick命令无法找到对应的文件修改。例如: 方案1放在仓库ssh://[email protected]/PROJECT1/...

2018-07-19 16:41:41 5849 1

原创 TOAST:不重复显示Toast

问题:对用户的某个动作弹出Toast,采用一般的显示Toast的方法,如果用户多次做某个动作,则屏幕会一直显示Toast,体验不好。 目标:如果Toast正在显示,同个Toast不再弹出Toast,而是在原来的Toast上继续显示一定时间。 代码:// 成员变量mToastprivate Toast mToast;// 显示Toastif (mToast == null) { mTo

2017-09-21 15:25:08 1759

原创 Qt--QString

QString概述;Qt字符串;QString和QByteArray;QString和char*;QString操作;QString组合替代、删除、查询、比较、截取、转换;Qt正则表达式;QString与数值类型转换;QString初始化;double转QString;QString转double

2017-01-16 16:48:25 1611

原创 Qt--信号与槽机制

一、什么是信号槽机制       信号槽机制是Qt的核心特性,是对C/C++的拓展,应用于对象与对象之间的通信。信号槽的处理依赖于moc(Meta Object Compiler)工具。       信号槽机制很好地完成了界面操作的响应,类似于MFC和matlab GUI中的callback函数。信号与槽会通过connect函数进行连接,信号会在某种情况或者动作下由某个对象发射,连接了该信

2017-01-13 14:47:23 507

原创 Qt--文件输入输出

Qt提供了很方便的文件输入输出功能,以下是简单的文件创建和文件输出示例: QFile *myFile; QTextStream *outfile; QString filename = "./myFile.txt"; myFile = new QFile(filename); myFile->open(QIODevice::WriteOnly | QIOD

2017-01-12 16:41:05 3051

原创 Qt问题1:编译出错,退出代码2

初次使用Qt,创建了简单的工程,编译之后出现错误如下:Cannot find file: C:\Users\102\Desktop\codes\learnQt\QStackedWidget的使用\myStackedWidget\myStackedWidget.pro.15:22:05: 进程"C:\Qt\Qt5.5.0\5.5\mingw492_32\bin\qmake.exe"退出,退出

2017-01-12 15:23:40 5893 1

原创 Qt--堆栈窗口(QStackedWidget)的使用

前言:最近开发上位机需要用到切换窗口的功能,Qt上有多种方法可以实现窗口的切换,其中Qt提供了QStackedWidget类,可以方便地实现窗口切换。QStackedWidget,顾名思义,就是将widget存放再堆栈中,每个widget都有索引,可以指定索引来显示某一层的widget。以下例程中,使用QListWidget来选择要显示的页面。Qt Creator提供了丰富的示例和教程

2017-01-11 16:09:53 25750

原创 四轴飞行器基础介绍篇

一、  四轴飞行器硬件结构四轴飞行器硬件主要包括机架、电机、电调、螺旋桨、主控板、姿态传感器模块(主要包括陀螺仪、加速度计、电子罗盘)、电池、电源板、遥控器与接收机、充电器以及根据飞行器要完成的特定的功能而搭载的其他器件如摄像头、光流传感器、超声波、气压计、GPS等。图1-1 四轴飞行器硬件结构图图1-2 四轴飞行器硬件结构图(实物对照图) 二、  四轴飞行器软件结构

2016-08-25 13:57:11 15753 1

原创 Matlab2013b和Visual Studio 2013混合编程总结

本文主要讲了VS(C++或C#)如何和Matlab混合编程。

2016-08-25 13:42:47 4607

原创 MFC串口调试工具教程

MFC串口调试软件教程一、测试环境:Windows XP,VC++6.0二、步骤Step1:打开VC++6.0集成开发环境,新建基于对话框(Dialog based)的MFCAppWizard(exe)应用程序。其它设置默认即可。Step2:在主对话框中添加需要的控件。如图1,在箭头所指窗口(控件)拖动空间到主对话框。这里串口调试软件只需要红框内所示的控件即可,其他可以根据

2016-05-18 15:00:41 9111

595级联程序

详细介绍595级联的原理图实现和代码实现,代码是基于51芯片的

2015-10-19

超声波模块参考

超声波模块讲解 详细的讲解 有电路图 原理图 和其他相关资料

2014-08-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除