用matlab產生服從某種條件下的正態分佈的隨機數

2021-03-11 00:53:10 字數 4993 閱讀 8446

1樓:墨汁諾

mvnrnd(mu,sigma,number)——產生bainumber個均值為mu,協方du差矩陣為sigma的正態分佈隨機

zhi數。dao

例子:mvnrnd([1,2],[2 1;1 4],100)

要求隨機數範圍在版0-1之間,權均值可取0.5;又由於正態分佈99.7%的值在平均數左右三個標準差的範圍內,所以標準差取0.5/3。

因為只是要近似服從正態分佈,可以考慮把超出邊界的少量資料直接放在中間,影響不大:

123d=randn(1000,1)/6+0.5;d(d<0|d>1)=0.5;hist(d,30)

2樓:匿名使用者

mvnrnd(mu,sigma,number)——產生number個均值為mu,協方差矩陣為sigma的正態分佈隨機數

例子:mvnrnd([1,2],[2 1;1 4],100)

3樓:

x=randn(1,1000)產生均值為0 方差為1的正太分佈。x=d^1/2*x+m得到的就為均值m方差為d的隨機數

matlab 用randn建立1000個服從正態分佈的隨機數,分佈的均值為70,標準差為3.5,根據資料繪製柱狀圖。

4樓:鏡花水月馬超

hist的第二項是隔的個數,你正態分佈最好分隔在10到15組比較好,你分的不對,不是陣列。

x=0:0.2:7;

y=70+3.5.*randn(1000,1);

hist(y,10)

matlab中產生兩個服從標準正態分佈隨機數的操作

5樓:匿名使用者

生成服從標準bai正態分佈(均值為du0,方差為1)的zhi隨機數。基本dao語法和rand()類似。

randn(5,1) %生成5個隨回機數排列的列向答量,一般用這種格式

randn(5) %生成5行5列的隨機數矩陣randn([5,4]) %生成一個5行4列的隨機數矩陣

6樓:射手座

randn() 括號裡寫隨機變數的個數

matlab 生成一組服從正態分佈的隨機變數

7樓:匿名使用者

normrnd(0,sqrt(6),10,5)%生成10行5列均值為0方差為6的正態分佈隨機數

8樓:匿名使用者

用randn()可以生成du高斯分佈的隨機zhi數。

不過只有先生成隨機數才有

dao方差和均值,反過來可版難了。

也只能使權均值和方差近似等於0和6,

用下面方法:

x=randn(1,100)*sqrt(6);

while abs(mean(x))>=0.01 | abs(var(x)-6)>=0.01

x=randn(1,100)*sqrt(6);

end這樣生成的隨機數列x,平均值約等於0,方差越等於6,誤差不超過0.01。

當然你也可以把精度調得更高一些,但很可能很久都找不到合適的隨機數。

mean()是求平均值,var()是求方差,取隨機數之後乘以sqrt(6)是因為randn()取出的隨機數方差在1左右,所以要放大一下。

還有隨機數的個數我這裡是100個,你可以隨意修改。

matlab中如何得到標準正態分佈的隨機數?

9樓:風吹的小羊

生成服從標準正態分佈(均值為0,方差為1)的隨機數。基本語法和rand()類似。

matlab是matrix&laboratory兩個詞的回組合,意為矩答陣工廠(矩陣實驗室)。是由美國mathworks公司釋出的主要面對科學計算、視覺化以及互動式程式設計的高科技計算環境。

它將數值分析、矩陣計算、科學資料視覺化以及非線性動態系統的建模和**等諸多強大功能整合在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程式設計語言(如c、fortran)的編輯模式,代表了當今國際科學計算軟體的先進水平。

10樓:匿名使用者

% 產生

0~1均勻分佈

m=1000;n=10;

u=rand(m,n);

% 產生a~b均勻分佈

a=-1;b=1;

x=a+(b-a)*u;

% 正態分佈函式的逆是求不出來的

如何matlab取正態分佈隨機數

11樓:子衿悠你心

運用normrnd函式。

1. r=normrnd(mu,sigma):生成服從正態分佈(mu引數代表均值,sigma引數代表標準差)的隨機數。

輸入的向量或矩陣mu和sigma必須形式相同,輸出r也和它們形式相同。標量輸入將被擴充套件成和其它輸入具有相同維數的矩陣。

2. r=normrnd(mu,sigma,m,n): 生成m×n形式的正態分佈的隨機數矩陣。

例項:生成均值為0,標準差為1的2*2正態分佈隨機矩陣。

拓展說明:

matlab中還有個函式randn,可以產生均值為0,方差σ^2 = 1,標準差σ = 1的正態分佈的隨機數或矩陣。

y = randn(n)返回一個n*n的隨機項的矩陣;

y = randn(m,n)  或 y = randn([m n]):返回一個m*n的隨機項矩陣。

12樓:匿名使用者

randn 標準正態分佈

如果你想變成你的需要的

均值和方差的話:

a+b*randn

均值是a,標準差是b。

如果你想產生很多,比如一個1000*1的向量,那麼在randn後邊加括號,寫上尺寸就行了

randn([1000,1]);

13樓:匿名使用者

使用randn或者normpdf

randn 產生標準正態分佈 轉成需要的非正態分佈: r = μ + δ*randn(m,n);

normpdf 產生正態分佈normpdf(x,μ,δ) x為範圍

用matlab產生1000個在(0,1)區間內均勻分佈的隨機數,精確到小數點後第四位,繪製概率密度曲線

14樓:匿名使用者

a = unifrnd (0,1,1000,1);%均勻分佈隨機數專c = sort(a);

x = unifpdf(c,0,1);

figure(1)

plot(c,x,'r')

b = normrnd (0,1,1000,1);%正態屬分佈隨機數d = sort (b);

y = normpdf(d,0,1);

figure(2)

plot(d,y,'b')

matlab產生隨機數問題

15樓:long1209龍是我

第一個問題,執行

下面的**就都有了。

x=10*rand(1,1000);

t=1:1000;

plot(t,x);

max_rand=max(x);

min_rand=min(x);

mean_rand=mean(x);

segma=std(x);

第二個,執行下面**:

a=[0 1 0;1 0 0;0 0 1];

b=[1 0 0;0 0 1;0 1 0];

c=[1 -4 3;2 0 -1;1 -2 0];

x=a^-1*c*b^-1

16樓:匿名使用者

用rand吧。rand產生0到1之間的隨機數。

舉個例子,假設需要1到5之間100個數。

1+(5-1)*rand(1,100)就行了。rand(a,b)表示a行b列

17樓:我叫大黃瓜

如樓上所說的用rand(平均分佈)或者randn(正態分佈)先產生0-1的隨機數,如果要看和的統計值直接bar就可以了

18樓:敏語出樂意

是嗎?看看我的

。>>

a=floor(10*rand(4,5)-5)a=4334

4-32-1

241-1

1-4-1-1-52

-13>>

a=floor(10*rand(4,5)-5)a=-5-4

-3-13-2

-3-440

3-4-5-1

-3-512

-11>>

a=floor(10*rand(4,5)-5)a=33

-2-2

-2-50-4

0312

-4-43-2

-1110

19樓:小三太撫媚丶

在matlab中用來產生指數分佈隨機數的函式是exprnd( );

語法:1. r=exprnd(mu)

生成服從引數為mu的指數分佈隨機數。

2. r=exprnd(mu,m)

生成服從引數為mu的指數分佈的隨機數矩陣,矩陣的形式由m定義。

例如,n=exprnd(5,[1 6])

3. r=exprnd(mu,m,n)

生成m×n形式的指數分佈的隨機數矩陣。

當產生的陣列是一維向量時,若想排序可以利用sort(a)函式,a為隨機陣列,預設的結果是升序排列。

如果排序後還需要保留原來的索引可以用返回值,即[b,ind]=sort(a),計算後,b是a排序後的向量,a保持不變,ind是b中每一項對應於a 中項的索引。

若想對a陣列進行降序排列,先用x=eye(n)生成一個n維的單位陣,然後用x=rot90(x)將其旋轉為次對角線的單位陣,再用原來矩陣乘以x即可,如要講a逆序排列採用如下步驟:

x=eye(size(a));

x=rot90(x);

a=a*x;

怎麼用MATLAB產生隨機初等矩陣

a不是初等矩陣的概率非常非常非常小 a rand 4,4 det a det a 1 length a matlab中怎麼產生一個隨機矩陣 matlab中通過rand函式產生的是介於0到1 不包括1 之間的偽隨機數。更多資訊請在matlab命令視窗輸入help rand獲得幫助資訊。用法 1.ran...

如何用matlab生成服從t分佈的隨機數

這是引數為 2,theta 2 的伽馬分佈。可以用 matlab如何生成柯西分佈隨機數 1.計算得到cauchy分佈cdf函式的反函式為 2.使用rand 函式生成 0,1 區間上均勻分佈的初始隨機數。我習慣一次生成一堆這種隨機數。original x rand 1,100000 3.將初始隨機數代...

matlab怎麼隨機產生模等於1向量

clear all clc n 10 a rand 1,n a a norm a,2 a rand 1,n a norm a,2 matlab怎麼隨機產生一個只有0和1的行向量 round rand 1,totalnum totalnum為行向量中元素的個數 1 等概率地生成一個m n的矩陣,且矩陣...