算法
棕熊的肚皮
无奋斗,不青春
展开
-
高斯分布的乘积
假设有两个高斯分布: p1(x)=(2πσ21)−12exp{−12(x−μ1)2σ21}p1(x)=(2πσ12)−12exp{−12(x−μ1)2σ12}p_1(x) = (2\pi\sigma_1^2)^{-\frac{1}{2}}exp\{ -\frac{1}{2} \frac{(x-\mu_1)^2}{\sigma_1^2} \} p2(x)=(2πσ22)−12exp{−12(x−μ...原创 2018-04-22 22:23:12 · 19159 阅读 · 2 评论 -
一维和二维高斯分布的可视化
本篇主要用python代码实现一维和二维高斯分布的可视化 首先,一维和多为高斯分布的数学公式如下所示: p1(x)=12πσ2‾‾‾‾‾√exp{−12(x−μ)2σ2}p1(x)=12πσ2exp{−12(x−μ)2σ2} p_1(x) = \frac{1}{\sqrt{2\pi \sigma^2}} exp\{-\frac{1}{2}\frac{(x-\mu)^2}{\sigma^2}\}...原创 2018-04-23 22:07:59 · 6472 阅读 · 0 评论 -
用python 实现龙格-库塔(Runge-Kutta)方法
龙格-库塔法是1900年数学家卡尔-龙格和马丁-威尔海姆在1900年提出的一种求解非线性常微分方程的一种方法。本篇博客主要利用python语言实现龙格-库塔方法。 首先介绍龙格-库塔方法的公式: 已知,方程的导数和初值信息如下: y′=f(t,y),y(t0)=y0y′=f(t,y),y(t0)=y0y' = f(t,y) , y(t_0)=y_0 则方程的迭代计算公式如下: y(t+Δ...原创 2018-05-03 11:46:53 · 25047 阅读 · 10 评论 -
PCA校准(alignment)两个对应的点集合,并且获得旋转矩阵R和转移矩阵T
代码的主要流程 1. 通过椭圆的公式计算出椭圆边的点的坐标,并作为点集合AAA。这里需要注意的是,需要对椭圆的公式进行一下处理。原始的椭圆公式为: x2a2+y2b2=1x2a2+y2b2=1\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 可以令,x=acos(θ)x=acos(θ)x=a\cos(\theta),y=bsin(θ)y=bsin(θ)y=b\s...原创 2018-05-17 15:09:43 · 2249 阅读 · 0 评论 -
二维变换矩阵
二维平面上常见的三种几何变换 平移 缩放 旋转 平移在二维平面上每个点可以用(x,y)(x,y)(x,y)表示,假设有一点P(x,y)P(x,y)P(x,y),它平移到P′(x′,y′)P′(x′,y′)P'(x',y'),则相应的数学表达式子为: P′=P+ΔP[x′y′]=[xy]+[ΔxΔy]=[x+Δxy+Δy]P′=P+ΔP[x′y′]=[xy]...原创 2018-05-04 21:54:42 · 7183 阅读 · 2 评论 -
利用SVD求得两个对应点集合的旋转矩阵R和转移矩阵t的数学推导
1.问题描述 (R,t)=argmin∑i=1nwi||(Rpi+t)−qi||2(1)(1)(R,t)=argmin∑i=1nwi||(Rpi+t)−qi||2(R,t)=argmin \sum_{i=1}^n w_i||(Rp_i+t)-q_i||^2 \tag{1} wiwiw_i 表示每个点对之间的权重。 2. 计算转移矩阵 0=∂F∂t=∑i=1n2wi(Rpi+t−qi)=2t...原创 2018-05-18 16:01:54 · 18567 阅读 · 11 评论 -
计算两个对应点集之间的旋转矩阵R和转移矩阵T
假设有两个点集A和B,且这两个点集合的元素数目相同且一一对应。为了寻找这两个点集之间的旋转矩阵RRR和转移矩阵ttt。可以将这个问题建模成如下的公式: B=R∗A+tB=R∗A+tB = R*A+t 为了寻找RRR和ttt,通常需要一下三个步骤: 计算点集合的中心点 将点集合移动到原点,计算最优旋转矩阵RRR 计算转移矩阵ttt 计算中心点P=⎡⎣⎢⎢xyz...原创 2018-05-05 23:06:35 · 37230 阅读 · 50 评论