parzen 窗的matlab实现

用一下程序简单实现使用parzen窗对正态分布的概率密度估计:

(其中核函数选用高斯核)

%run for parzen 
close all;clear all;clc;
x=normrnd(0,1,1,10000);%从正态分布中产生样本
f=-5:0.01:5;%确定横坐标范

% N=100   h= 0.25 , 1, 4
p1=Parzen(x,0.25,10,f); 
p2 = Parzen(x,1,10,f);
p3 = Parzen(x,4,10,f);
subplot(331)
plot(f,p1)
subplot(332)
plot(f,p2)
subplot(333)
plot(f,p3)

hold on
% N=100   h= 0.25 , 1, 4
p1=Parzen(x,0.25,100,f); 
p2 = Parzen(x,1,100,f);
p3 = Parzen(x,4,100,f);
subplot(334)
plot(f,p1)
subplot(335)
plot(f,p2)
subplot(336)
plot(f,p3)

hold on
% N=1000   h= 0.25 , 1, 4
p1=Parzen(x,0.25,1000,f); 
p2 = Parzen(x,1,1000,f);
p3 = Parzen(x,4,1000,f);
subplot(337)
plot(f,p1)
subplot(338)
plot(f,p2)
subplot(339)
plot(f,p3)

 

function  p =  Parzen(x,h,N,f)
%  高斯函数Parzen 窗  统计落在parzen窗内的估计概率
%  h - 窗长度
%  N -采样点数
b=0;
h1 =  h/sqrt(N);
for i=1:length(f)
    for j=1:N
    b= b+ exp(((f(i)-x(j))/h1).^2/(-2))/sqrt(2*pi)/h1;
    end
    p(i) =  b/N;
    b=0;
end
end

 

转载于:https://www.cnblogs.com/simayuhe/p/5360119.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值