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...