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

2021-04-19 18:38:58 字數 3177 閱讀 4995

1樓:真

舉個例子

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畫出它的概率密度分佈圖,請給出具體程式

2樓:紗織守鶴

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為縱座標畫出圖形,『.』為 圖形各點的樣式

3樓:藍芽刀

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

% 資料

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

4樓:

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

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

matlab如何將一組資料的概率密度函式與頻數直方圖畫在一起?

5樓:匿名使用者

%生成一組隨機數(正態分佈)

data=normrnd(0,1,1,500);

%繪製直方圖

hist(data,20); hold on;

%求出概率密度函式引數

[mu,sigma]=normfit(data);

%繪製概率密度函式

[n,x]=hist(data,20);

y=normpdf(x,mu,sigma);

%處理一下資料,使得密度函式和最高點對齊

y=y/max(y)*max(n);

plot(x,y,'r-');

6樓:用著追她

1、首先,我們隨機產生三組範圍不同的資料,資料量都為500,他們的邊界分別為[10,15],[23,38],,[38,58]。

2、分別畫出x1,x2,x3對應的曲線,用matlab的內建函式plot進行操作,分別用三個plot進行繪圖。

3、需要用一個語句來保留前面所繪製的圖,在需要保留的圖的後面加一句hold on,即可將該圖保留,使它不被後面的圖所覆蓋。

4、這樣就可以將三條曲線畫在一張圖上,為了區別,要分別給這三條曲線定義不同的顏色。

5、為了圖的美觀,我們可以用grid on新增網格線,還需要新增橫縱座標軸標題。

6、因為我們畫的是多條曲線,因此還需要新增圖例。

7樓:匿名使用者

頻數分佈直方圖

x=load('檔名');

y=[始值:組距:末值];

histogram(x,y);

ax=gca;

ax.ylim=[0 11]; %座標軸刻度範圍ax.ytick=[0:

1:11]; %刻度ax.yticklabel=[0:

1:11]; %顯示出來的刻度ax.xlabel.

string='x軸標題';

ax.ylabel.string='';

ax.xlabel.position=[1700 -0.8 0]; %座標軸標題文字的位置

8樓:夏澀頎·哀

histogram(變數,'normalization','pdf')

如何運用matlab得出概率密度函式的曲線圖 20

9樓:匿名使用者

在matlab中有一組資料,要得到這組資料的概率密度分佈,要注意連續隨機變數概率密度函式與離散隨機變數概率分佈函式的區別。

統計樣本x在各個區間的概率(與hist有些相似),再自動選擇xi,計算對應的xi點的概率密度。

如何用matlab得到概率密度曲線

10樓:匿名使用者

概率密度曲線指的是,隨機變數x取不同值時所對應的概率大小曲線。

你不是得到了直方圖了嘛。。。橫軸就是你的隨機變數x的不同的值,縱軸就是不同值所對應的概率。

plot(x, px, 'k-');

x是你橫軸的值所組成的向量

px是不同x值對應的概率

你畫出來,會發現,直方圖是階梯狀的,而概率密度曲線,是連續的。但是走勢相同

11樓:小刖小刖

計算樣本向量x的概率密

12樓:匿名使用者

command window 中打 help pdf

如何在matlab中呼叫matlab中已有的函式

呼叫函式檔案 myfile.m clear clcfor t 1 10 y mylfg t end 自定義函式檔案 mylfg.m function y mylfg x 注意 函式名 mylfg 必須與檔名 mylfg.m 一致 y x 1 3 注 這種方法要求自定義函式必須單獨寫一個m檔案,不能與...

如何在matlab中的labelylabellegend和tet函

1 首先設定畫圖的引數。close all 語句清空之前的圖,set 語句將背景設定為白色,定義一個fontsize變數方便以後使用。2 畫圖之前先用figure語句產生一個空圖,這樣每次生成一幅圖都會自動順序編號。否則用figure n 指定生成圖的編號或名字也可以。3 用plot函式在同一圖中畫...

matlab中如何註釋掉一段,matlab 如何多行註釋,與解除註釋

1 首先在m檔案中輸入下面的 x pi pi 10 pi y sin x plot x,y,rs linewidth 2,markeredgecolor k marke cecolor g markersize 10 畫出圖如下。2 第一種方法 直接在 前面輸入 x pi pi 10 pi y si...