parzen 窗的matlab實現

2022-08-16 01:33:24 字數 1260 閱讀 1137

用一下程式簡單實現使用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;

endp(i) = b/n;

b=0;

endend

實現一下模式識別(一)Parzen窗估計

自己計畫實現一遍模式識別裡的內容。parzen窗估計是非引數估計。我在非引數技術 parzen窗估計方法文章和非引數估計 parzen視窗函式法文章裡面整理出了演算法基本過程 利用第一篇部落格給出的樣本資料對給定的資料進行分類。分類的方法就是根據公式分別求出對於三個類的數值。公式是 求出來數值之後,...

matlab窗函式的頻譜 如何理解頻譜洩露?

這只是我個人的理解,錯誤之處還請指正。如果原始訊號中有頻率成分處於兩個基本函式的頻率之間,會怎麼樣呢?fig.1 a 解釋了答案,原始訊號包含兩路不同頻率的正弦波,一路頻率與基本函式匹配,一路頻率不匹配。前者用乙個點就能表示峰值,而後者則會出現乙個峰值伴隨著兩個尾巴的頻譜,即發生了譜洩露 拖尾 可以...

MATLAB2009A實現Kmeans例項

本人剛學習資料探勘沒有多久,資料探勘中要用不少聚類演算法。kmeans作為其中常用的一種演算法,聚類效果還行。下面是我做了幾個簡單的matlab實現kmeans的小例項 100 2列矩陣聚類成3類 matlab 如下 data rand 100,2 opts statset display fina...