tft每日頭條

 > 圖文

 > matlab生成均值固定的随機數

matlab生成均值固定的随機數

圖文 更新时间:2025-01-25 18:34:46

常見一元分布随機數

(1) MATLAB統計工具箱中函數名以rnd三個字符串結尾的函數用來生成常見分布的随機數。如下表

函數名 說明

binornd 二項分布随機數

chi2rnd 卡方分布随機數

exprnd 指數分布随機數

frnd F分布随機數

lognrnd 對數分布随機數

mnrnd 多項分布随機數

normrnd 正态分布随機數

..................

例:

調用normrnd函數生成1000x3的正态分布随機函數,其中均值u=75,标準差為8,并畫出各列頻數直方圖

%調用normrnd函數生成1000行3列的随機數矩陣x,其元素服從均值為75,标準差為8的正态分布

>> x=normrnd(75,8,1000,3);%調用-rnd函數,需要傳遞給它分布函數的參數,和生成矩陣的維數

>> figure;

>> hist(x); %繪制矩陣x每列的頻數直方圖

>> xlabel('正态分布随機數(\mu=75,\sigma=8)');

>> ylabel('頻數');

(2)random函數

random函數是一種通用的求各分布的随機數的函數,格式如下:

y=random(‘name’,A1,A2,A3,m,n)

name指定是那種分布函數,取值為上表中 MATLAB中常見分布函數名的簡稱

A1,A2,A3是分布函數的參數

m,n用來指定生成随機數的行和列

例:用normrnd和random函數分布生成1000x1的正态分布随機函數,其中均值u=75,标準差為8,并畫出頻數直方圖

x=normrnd(75,8,1000,1); %normrnd函數生成均值u=75,标準差為8的正态随機數

xx=random('norm',75,8,1000,1);%random函數生成均值u=75,标準差為8的正态随機數

figure;

hist(x),title('normrnd頻數分布直方圖');

>> figure;

>> hist(xx),title('random頻數分布直方圖');

matlab生成均值固定的随機數(MATLAB生成常見一元分布随機數)1

matlab生成均值固定的随機數(MATLAB生成常見一元分布随機數)2

例:調用random函生成1000x1的二項分布随機數向量,然後做出頻率直方圖。二項分布的參數為n=10,p=0.3

注意:如何計算頻率直返圖,首先調用ecdf函數就算出經驗累積概率分布函數值,然後調用ecdfhist函數繪制頻率直方圖,其參數是ecdf函數的返回值

%調用random函數生成1000行1列的随機數向量x,其元素服從二項式分布B(10,0.3)

x=random('bino',10,0.3,1000,1);

[fp,xp]=ecdf(x);

ecdfhist(fp,xp,20);P表示柱狀圖的個數,默認是10

>> xlabel('二項分布(n=10,p=0.3)随機數');

>> ylabel('f(x)');

matlab生成均值固定的随機數(MATLAB生成常見一元分布随機數)3

明天繼續發布MATLAB如何生成任意一元分布的随機數。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved