matlab實現,已知一組資料的核密度函式,根據核密度函式

2021-04-21 03:51:33 字數 2133 閱讀 6841

1樓:匿名使用者

窗寬h,樣本點x1,x2,.......xn的取值是多少?

matlab中,如何根據已知的直方圖,近似求得其概率密度函式圖呢? 15

2樓:真

舉個例子

x=normrnd(10,4,1380000,1);%生成1380000個均值為10標準差為4的正態分佈隨內機數

[mu,sigma]=normfit(x(:))%對這些資料進行容正態分佈擬合

hist(x,-10:.1:60);axis([-10,60,0,14000]);

figure

fplot(@(x)normpdf(x,mu,sigma),[-20,40]);ylim([0,.12])

利用核函式法估計概率密度的matlab程式,不利用matlab自帶的估計函式

3樓:匿名使用者

以估計正態分佈為例,

高斯核函式:

核函式估計方法:

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);

endf(j)=f(j)/n/h;

endplot(x1,f);

%用系統函式計算比較

[f2,x2] = ksdensity(x);

hold on;

plot(x2,f2,'r'); %紅色為參考

已知一組資料,如何用matlab畫出它的概率密度分佈圖,請給出具體程式

4樓:紗織守鶴

clear all;

clc;

data = importdata("n(0,1).txt");%這裡n(0,1).txt為你要匯入的資料

[a, b] = normfit(data);%求出你給的服從正態分佈的資料的均值和標準差,並賦給a,b

d = normpdf(data,a,b);%求出均值為a,標準差為b的正態分佈密度函式在data各點的值

figure;

plot(data,d,'.');%以data為橫座標,d為縱座標畫出圖形,『.』為 圖形各點的樣式

5樓:藍芽刀

例項程式,應對普通情況應該夠了,但是有些特殊情況不合適,不過大多數情況不必要求非常準確,如果要很準確,自行修改下。

% 資料

ydata = random('normal',0,1,1,1024);

% 準備一些變數

bins = 100; %分100個區間進行統計

maxdat = max(ydata);%最大值

mindat = min(ydata);%最小值

bin_space = (maxdat - mindat) / bins;%每個bin寬度

xtick = mindat : bin_space : maxdat - bin_space;

% 求pdf

distribution = hist(ydata,bins);%使用直方圖得到資料落在各區間的總數

pdf = bins * distribution / ((sum(distribution )) * (maxdat - mindat));%計算pdf

% 畫圖

figure;

plot(xtick,pdf);

% 驗證:sum(pdf) * bin_space應該接近1

6樓:

一般通過已知資料,求取概率密度。需要統計學的知識。大致是畫頻譜圖。具體好像是求什麼頻數等等。但是這個也不是太難。

你照著相關書籍,就應該能寫程式了。至於重複數值,那肯定是可能的啊。因為一個未知變數都能夠重複出現,畢竟是概率事件。

已知一組資料,如何用matlab畫出它的概率密度分佈圖

上simwe的matlab論壇吧,我到 給你解答 已知一組資料,如何用matlab畫出它的概率密度分佈圖,請給出具體程式 clear all clc data importdata n 0,1 txt 這裡n 0,1 txt為你要匯入的資料 a,b normfit data 求出你給的服從正態分佈的...

在matlab下如何實現對一組資料振幅譜和相位譜

cl img imread 15.bmp img double img f fft2 img 傅立葉變換 f fftshift f 使影象 bai對稱 r real f 影象頻域du實部 zhii imag f 影象頻域虛部 margin log abs f 影象幅dao度譜,加log便於顯版示 p...

已知一組資料如何用matlab擬合出正態分佈曲線求詳細命

這組資料不論是直接畫圖還是畫分佈圖,都和正態分佈曲線不太吻合啊?已知一組資料服從正態分佈,怎麼用matlab畫出其正態分佈曲線 200 先求出這一組資料的方差 均值 然後呼叫函式 y gaus f x,正態分佈又被稱為高斯分佈 如下 比如一組資料 data 2 4 6 8 10 12 data 2 ...