MATLAB概率密度函数估计

MATLAB概率密度函数估计 2016-03-23 16:12:24

分类: C#/.net

函数:ksdensity 功能:根据给定的数据,估计概率密度分布 示例: 1. 正态分布 x = randn(1,100000);  [y,xi] = ksdensity(x); plot(xi,y, 'bo') % 验证 hold on yn=normpdf(xi,0,1); % 标准正态分布的概率密度函数 plot(xi,yn,'b') 2. 瑞利分布 x = abs(randn(1,10000) + 1i*randn(1,10000)); [y,xi] = ksdensity(x); plot(xi,y, 'bo') % 验证 hold on b = 1;  yn = zeros(size(xi)); k=find(b > 0 & xi >= 0); if any(k),     xk = xi(k);     % 瑞利分布的概率密度函数     yp(k) = (xk ./ b^2) .* exp(-xk.^2 ./ (2*b^2)); end plot(xi,yp,'b') 3. 莱斯分布? N = 100000; K = 0.5; const=1/(2*(K+1)); x1=randn(1,N); x2=randn(1,N); x=sqrt(const*((x1+sqrt(2*K)).^2+x2.^2)); [y,xi] = ksdensity(x); plot(xi,y, 'bo') % 验证 hold on sig = 1; v = 1; yn = zeros(size(xi)); k=find(b > 0 & xi >= 0); if any(k),     xk = xi(k);     % Rician分布的概率密度函数     yp(k) = (xk ./ sig^2) .* exp((-xk.^2 + v.^2) ./ (2*sig^2)) .* besselj(0, (xk .*v ./ sig^2)); end plot(xi,yp,'b') http://blog.chinaunix.net/uid-20692368-id-5680963.html