matlab中怎麼產生Matlab中怎麼產生1到1之間的隨機數

2021-03-06 14:24:58 字數 4779 閱讀 4846

1樓:導超

x=2*(rand(m,n)-0.5)

產生m*n個數,他們構成一個矩陣。。。

一樓正解、、、

例如:>> x=2*(rand(5,5)-0.5)

x =-0.7867 0.7374 -0.1372 -0.7279 0.7061

0.9238 -0.8311 0.8213 0.7386 0.2441

-0.9907 -0.2004 -0.6363 0.1594 -0.2981

0.5498 -0.4803 -0.4724 0.0997 0.0265

0.6346 0.6001 -0.7089 -0.7101 -0.1964

>> x=2*(rand(1,10)-0.5)

x =-0.8481 -0.5202 -0.

7534 -0.6322 -0.5201 -0.

1655 -0.9007 0.8054 0.

8896 -0.0183

2樓:匿名使用者

x=2*(rand(1,10)-0.5)

產生區間為a~b之間的數,程式可以這麼寫

(rand(1)*(b-a))+a;

3樓:匿名使用者

randdata =0.3*(2* rand(1,n)-1); n為產生多少列,前面的0.3可以根據你需要的幅值改動

4樓:匿名使用者

rand(1)*(n-m)+m (n,m)區間內的隨機數,收斂性不太好

5樓:數學佛陀

有個直接產生-1到1隨機數的函式randn幹嘛不用?

何必要用自己編寫的各種演算法公式呢?

6樓:匿名使用者

2*(rand(10,1)-0.5),產生10個

7樓:匿名使用者

rands(s) %生成s個[-1,1]的隨機數

請問matlab中如何產生一個介於-1到1之間的隨機數?謝謝了

8樓:

r = randi([imin,imax],m,n)在開區間(imin,imax)生成mxn型隨機

矩陣matlab中生成隨機數主要有三個函式:rand, randn,randi

1,rand 生成均勻分佈的偽隨機數。分佈在(0~1)之間

主要語法:rand(m,n)生成m行n列的均勻分佈的偽隨機數

rand(m,n,'double')生成指定精度的均勻分佈的偽隨機數,引數還可以是'single'

rand(randstream,m,n)利用指定的randstream(我理解為隨機種子)生成偽隨機數

2,randn 生成標準正態分佈的偽隨機數(均值為0,方差為1)

主要語法:和上面一樣

3, randi 生成均勻分佈的偽隨機整數

主要語法:randi(imax)在開區間(0,imax)生成均勻分佈的偽隨機整數

randi(imax,m,n)在開區間(0,imax)生成mxn型隨機矩陣

r = randi([imin,imax],m,n)在開區間(imin,imax)生成mxn型隨機矩陣

9樓:匿名使用者

2*rand-1

rand函式產生的是0到1之間的數

祝你學習愉快!

10樓:匿名使用者

a=-1;b=1;

r = a + (b-a).*rand(n,1)%其中n為你要產生數的個數

11樓:匿名使用者

randdata =2* rand(1,1)-1

c#中怎樣用random產生1到10之間的隨機數

12樓:墨汁諾

1、@echo off

rem 用random產生1到10之間的一個隨機數set num=%random%

set /a num=num%%10+1

echo %num%

1到1000:

2、rnumber.next(1,1000);

random rnumber = new random();//例項化一個隨機數專物件

rnumber.next(1,10);//產生一個1到10之間屬的任意一個數

rnumber.next(1,1000);//產生一個1到1000之間的任意一個數

13樓:匿名使用者

random randobj = new random();

int start=1;//隨機數可取該下界值int end=10;//隨機數不能取該上界值for( int j= start ; j < end; j++ ) ",randobj.next( start, end) );

}就可以生成1-10之間的隨機數了

你再把start=1和end=1000就可以了 產生1到1000之間的隨機數

14樓:匿名使用者

random rnumber = new random();//例項化一個隨機數物件

rnumber.next(1,10);//產生一個1到10之間的任意一個數

rnumber.next(1,1000);//產生一個1到1000之間的任意一個數

15樓:匿名使用者

random rnumber = new random();

rnumber.next(1,10);

rnumber.next(1,1000);

如何用matlab產生1到10之間3個不同的隨機數

16樓:匿名使用者

<%function rndnumber(minnum,maxnum)randomize

rndnumber=int((maxnum-minnum+1)*rnd+minnum)

rndnumber=rndnumber

end function

function rndn(n,a,b) '產生一個長度bai為n的不du重複的zhi隨機字串

,daoa為最版小值,b為最大權值

x = rndnumber(a,b)

for i=1 to n

rndn = rndn & x & ","

while instr("," & rndn,"," & x & ",")>0

x = rndnumber(a,b)

wend

next

end function

response.write rndn(4,100000,999999)

%>產生一個長度為n的不重複的隨機字串,a為最小值,b為最大值呼叫rndn(3,100000,999999)意思就是 隨機三位數

17樓:匿名使用者

直接用randperm函式就可以了

out=randperm(9)';

data=out(1:3)

18樓:

利用randperm函式

out=randperm(10)';

data=out(1:3)

就可以了 :)

19樓:匿名使用者

rand(3,1)*10

matlab 中如何產生0-1上均勻分佈的隨機數

20樓:匿名使用者

在matlab 中產生0-1上均勻

分佈的隨機數方法如下:

方法1、對於問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n);

方法2、用統計工具箱,y = unifrnd(0,1,m,n).

另外,提供常用的函式分佈供參考:

1、 均勻分佈u(a,b)

產生m*n階[a,b]均勻分佈u(a,b)的隨機數矩陣:unifrnd (a,b,m, n)

2、0-1分佈u(0,1)

產生m*n階[0,1]均勻分佈的隨機數矩陣:rand (m, n)

3、二類分佈binornd(n,p,mm,nn),即產生mm*nn均值為n*p的矩陣

4、產生m*n階離散均勻分佈的隨機數矩陣:

unidrnd(n,mm,nn) 產生一個數值在1-n區間的mm*nn矩陣;

5、產生mm nn階期望值為 的指數分佈的隨機數矩陣:exprnd ( ,mm, nn).

21樓:匿名使用者

對於你的問題,如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n)

用統計工具箱,

y = unifrnd(0,1,m,n)

22樓:匿名使用者

如果 y 是m*n的服從0~1均勻分佈的隨機矩陣:

y = rand(m,n)

用統計工具箱,

y = unifrnd(0,1,m,n)

23樓:匿名使用者

rand函式

a=rand(m,n)

該函式產生一個大小m*n的陣列,陣列的元素為在區間(0,1)內均勻分佈的數

24樓:匿名使用者

x=random('unif',0,1)

25樓:dandy的同桌

rand生成的是標準正態分佈

Matlab解決物理問題,題目 利用Matlab軟體解決物理問題,問題如下 在高度h 10m處以速度v 10m s

u1 340 u2 1450 f1 200 f2 2000 m11 u1 f1 m12 u2 f2 m21 u2 f1 m22 u2 f2 題目 利用matlab軟體解決物理問題,問題如下 在高度h 10m處以速度v 10m s 如何用matlab來解決物理學的問題 70 先人工建立微分方程,再用m...

matlab引數方程畫橢球,怎樣用matlab畫橢球

theta beta meshgrid linspace 0,2 pi,1000 linspace 0,pi,1000 x 4 sin beta cos theta y 9 sin beta sin theta z cos beta mesh x,y,z 怎樣用matlab畫橢球?ellipsoid...

matlab中怎樣按概率產生隨機數

function y genrannum1 n 本函式產生n個指定概率分佈的隨機數,本例中的 概率密度函式為f x 1 x x 1 x x pi 2 x 1 min 1 概率密度區間的左邊界 max 1 概率密度區間的右邊界 uper 1 pi 2 概率密度函式的上確界 rand state 0 s...