作业帮 > 综合 > 作业

利用核函数法估计概率密度的matlab程序,不利用matlab自带的估计函数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 06:26:51
利用核函数法估计概率密度的matlab程序,不利用matlab自带的估计函数
以估计正态分布为例,
高斯核函数:
核函数估计方法:clear all
n=100;

%生成一些正态分布的随机数
x=normrnd(0,1,1,n);
minx = min(x);
maxx = max(x);
dx = (maxx-minx)/n;
x1 = minx:dx:maxx-dx;
h=0.5;
f=zeros(1,n);
for j = 1:n
    for i=1:n
        f(j)=f(j)+exp(-(x1(j)-x(i))^2/2/h^2)/sqrt(2*pi);
    end
    f(j)=f(j)/n/h;
end
plot(x1,f);

%用系统函数计算比较
[f2,x2] = ksdensity(x);
hold on;
plot(x2,f2,'r'); %红色为参考