This function finds the probability density function, MMSE estimation (expected value) and variance of a random variable from n number of independent observations defined by their probability density functions (pdf). Since pdfs defined by the user, this function can be used with any type of distribution. Example file is attached and explained at the end of the description.
function [p_x_condition, E_x, Var_x]=Recursive_Bayesian(x,p_x)
x: range of x equally spaced vector of size (1*N)
p_x: probability density matrix of size (n*N) where p_x(i,:) is the probability density function of the ith observation
p_x_condition: Conditional probability density function of x of size (1*N)
E_x: expected value of x
Var_x: variance of x
Example: A state (x) is estimated using 4 sensors. the readings from the sensors (3.5, 5, 4 and 3.5), respectively. The noise with the 4 sensors has zero mean with the following characteristics:
-sensor 1: uniform distribution from [-1.5 to 1.5]
-sensor 2: Gaussian distribution with variance=0.25
-sensor 3: Gaussian distribution with variance=1
-sensor 4: uniform distribution from [-2.5 to 2.5]
From the example file (example.m) using the function we get:
MMSE estimation of x=4.56
The figure shows the distribution of x and the four sensors.
Ayad Al-Rumaithi (2020). Recursive Bayesian Estimator (https://www.mathworks.com/matlabcentral/fileexchange/72002-recursive-bayesian-estimator), MATLAB Central File Exchange. Retrieved .
comments in files