matlab產生隨機數,急求matlab產生隨機數

時間 2021-07-01 01:33:32

1樓:匿名使用者

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就是差,不過要滿足某種分佈還不知道如何做

2樓:匿名使用者

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

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

ans = 16.9048 28.7006>>

3樓:匿名使用者

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

急求matlab產生隨機數 5

4樓:匿名使用者

檢視rand()和randn()命令,玩matlab要學會看manual

5樓:匿名使用者

你要表達什麼?不明白

matlab產生隨機數問題

6樓: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

7樓:匿名使用者

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

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

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

8樓:我叫大黃瓜

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

9樓:敏語出樂意

是嗎?看看我的

。>>

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

10樓:小三太撫媚丶

在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;

如何用c 產生隨機數,如何用C 產生隨機數?

在煙幹辰 rand 這個函式就是產生隨機數的,想要一個範圍的隨機數,可以用取餘數的方式 如取0 99之間的數,可以rand 100 需要使用rand 和srand 函式 rand 為隨機數函式,產生 0,int型最大值 之間的整數數 srand seed 為初始化隨機數種子函式 具體例子如下 inc...

matlab中如何產生n個隨機數,和為定值

yty隨意 1 首先在電腦中,找到並開啟matlab軟體,二項分佈隨機數的產生。2 接著輸入二項分佈隨機數x b n,p n為發生次數,p為發生概率,如下圖所示。3 然後輸入泊松分佈,引數為p,如下圖所示。4 接著輸入指數分佈,引數為 如下圖所示。5 最後正態分佈,x n 2 如下圖所示,就完成了。...

怎樣用c 編寫隨機數,如何用C 產生隨機數?

c 中生成指定範圍內的隨機數過程為 設定隨機種子srand 生成隨機數rand n 1,生成1 n之間的隨機數 include include rand srand include void main include include using namespace std int main retu...