matlab產生隨機數問題,matlab產生隨機數

2021-08-27 05:38:29 字數 3669 閱讀 2261

1樓:化學工程

是嗎?看看我的。

>> a=floor(10*rand(4,5)-5)a =4 3 3 4 4-3 2 -1 2 41 -1 1 -4 -1-1 -5 2 -1 3>> a=floor(10*rand(4,5)-5)a =-5 -4 -3 -1 3-2 -3 -4 4 03 -4 -5 -1 -3-5 1 2 -1 1>> a=floor(10*rand(4,5)-5)a =3 3 -2 -2 -2-5 0 -4 0 31 2 -4 -4 3-2 -1 1 1 0

2樓:

實際上計算機產生的隨機數並不是真正的隨機數,而是內部函式產生的偽隨機

matlab產生隨機數

3樓:匿名使用者

matlab用命令rand可以產生0-1的隨機數,用線性變換即可,y=ax+b

x=0,y=15

x=1,y=30

a=15,b=15,

如果你要的是整數,取整,用round,

>> rand(1,50)

ans =

columns 1 through 11

0.9134

0.6324

0.0975

0.2785

0.5469

0.9575

0.9649

0.1576

0.9706

0.9572

0.4854

columns 12 through 220.8003

0.1419

0.4218

0.9157

0.7922

0.9595

0.6557

0.0357

0.8491

0.9340

0.6787

columns 23 through 330.7577

0.7431

0.3922

0.6555

0.1712

0.7060

0.0318

0.2769

0.0462

0.0971

0.8235

columns 34 through 440.6948

0.3171

0.9502

0.0344

0.4387

0.3816

0.7655

0.7952

0.1869

0.4898

0.4456

columns 45 through 500.6463

0.7094

0.7547

0.2760

0.6797

0.6551

>> ans*15+15

ans =

columns 1 through 10

28.7006

24.4854

16.4631

19.1775

23.2032

29.3626

29.4733

17.3642

29.5589

29.3575

columns 11 through 2022.2806

27.0042

17.1283

21.3264

28.7360

26.8831

29.3924

24.8361

15.5357

27.7369

columns 21 through 3029.0099

25.1810

26.3661

26.1470

20.8834

24.8322

17.5678

25.5907

15.4775

19.1538

columns 31 through 4015.6926

16.4570

27.3519

25.4224

19.7565

29.2533

15.5167

21.5812

20.7234

26.4828

columns 41 through 5026.9280

17.8031

22.3465

21.6838

24.6947

25.6405

26.3203

19.1404

25.1955

24.8265

>> round(ans)

ans =

columns 1 through 18

2924

1619

2329

2917

3029

2227

1721

2927

2925

columns 19 through 361628

2925

2626

2125

1826

1519

1616

2725

2029

columns 37 through 501622

2126

2718

2222

2526

2619

2525

當然,這個方法的隨機數分佈不是均勻的,邊界有問題,你如說你要生成的隨機數有15中可能

rand產生一個你判斷它是否小於1/15*i,i=1,2,3,...15大於1/15*(i-1),是的話,這個數就是i

沒看清題,不好意思,同樓上,x、y沒有約束,如果x、y也是正整數,你隨機出來,x+y的值,然後,x就是1到x+y在隨機一次,y就是差,不過要滿足某種分佈還不知道如何做

4樓:匿名使用者

這個可以使用rand來生成,比如:% by lyqmathclc; clear all; close all;

15 + 15*rand(1, 2)結果

ans = 16.9048 28.7006>>

5樓:匿名使用者

%chanshengx+ya=15+15*rand(1);%chanshengyigexx=30*rand(1);y=a-x;

matlab產生任意隨機數

6樓:

可以用這個命令來試驗一下

randn

它所產生的隨機數是標準差是1,且平均值是0的正態分佈的隨機數,所以產生的隨機數在理論上是在正負無窮大之間。

如果你嫌他所產生的隨機數太小,可以乘以一個較大的數,例如用下面的命令1000000000*randn

7樓:

負無窮到正無窮好像不行的,只能取一個較大的區間,比如-1000000000到1000000000。

8樓:匿名使用者

隨機數只能是在一個區間中的

c 產生隨機數的程式,C 產生隨機數的程式

要看r的 了吧。如果r的 是某個和時間有關的數 就可以解釋了 後三句就是 讓某個在65536和0之間的數除以65536獲得0和1之間的隨機數 r 2053.0 r 13849.0 這是兩個有個是素數吧 應該是的 2053就是 質因數分解13849 11 1259 那麼這兩個素數的公倍數大於65535...

matlab如何產生二維正態分佈隨機數

實現的方法和詳細的操作步驟如下 1 第一步,基於實驗獲得一條資料,要確定是內否服從分佈,將其轉換容為直方圖,一些資料如圖所示,轉到下面的步驟。2 第二步,完成上述步驟後,將某些資料規則 例如距離範圍等 分組,即將相似的資料記錄分組為一類,並記錄該組的頻率 數量 見下圖,轉到下面的步驟。3 第三步,完...

rand產生的是偽隨機數,什麼叫偽隨機數 還有rand和sr

rand 最大 最小 這樣輸入範bai圍產生隨機數,但du是電腦zhi裡的隨機數順dao序已經排列好了,執行程式後你內會發現每次出現容的隨機數都一樣,所以要設定一個隨機數種子,來插入電腦已經排列好的隨機順序,這樣就能解決每次出現一樣資料的問題。把下面這段程式加到rand 前面就ok了。unsigne...