自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现

文章目录

  • 重要性采样是什么?
  • 利用求积分验证重要性采样
    • 概率密度函数服从均匀分布
    • 概率密度函数服从正态分布
  • 参考资料


重要性采样是什么?

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第1张图片
自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第2张图片

利用求积分验证重要性采样

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第3张图片
利用均匀撒粒子的蒙特-卡洛法求面积见
自动跟踪算法笔记(1):蒙特卡洛法、推导以及MATLAB实现

下面分别从均匀分布和正态分布角度验证重要性采样

概率密度函数服从均匀分布

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第4张图片

%% 采样方法求积分——均匀分布
clc;
clear all;
close all;
n = 1000000;
x = 0 + (1 - 0) * rand(1,n);
rel =  sum(x.^2)/single(n);

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第5张图片
自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第6张图片

%% 采样方法求积分——重要性采样
clc;
clear all;
close all;
n = 1000000;
x = 0 + (3 - 0) * rand(1,n);
x(find(x > 1)) = 0;
rel = sum(x.^2*3)/single(n);

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第7张图片

概率密度函数服从正态分布

先回顾一下正态分布的公式
常见分布 的 数学期望以及方差公式

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第8张图片
自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第9张图片
自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第10张图片

%% 采样方法求积分——正态分布
clc;
clear all;
close all;
n = 1000000;
x = normrnd(1.8,1,[1,n]);
rel = sum(x)/single(n);

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第11张图片

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第12张图片

%% 采样方法求积分——重要性采样
clc;
clear all;
close all;
n = 1000000;
x = normrnd(2.8,9,[1,n]);
p_x = 1/sqrt(2*pi)*exp(-(x-1.8).^2/2);
p_x_2 = 1/sqrt(2*pi)/9*exp(-(x-2.8).^2/2/9^2);
y = x.*p_x./p_x_2;
rel = sum(y)/single(n);

自动跟踪算法笔记(2):利用求积分的方式验证重要性采样及MATLAB实现_第13张图片

参考资料

1、粒子滤波与重要性采样
https://blog.csdn.net/artista/article/details/51570878

你可能感兴趣的:(自动驾驶)