如何用matlab產生 1和1隨機序列,急急急

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

1樓:辛旻劉子蕙

fori=1:n

a(i)=rand[0,1]

end很久沒用matlab了

不知道這種寫法對不對

你查查吧

產生隨機數就是用rand函式

至於是用還是()我忘了,隨機序列需要用陣列來承接也便於以後的運用

2樓:精靈壺

可以這樣寫

%% 生成隨機序列a

b = rand(1,1000)*2-1; %1000個[-1,1]之間的隨機數

a = sign(b); % 取b每項的符號函式獲得目標序列a祝程式設計順利

3樓:匿名使用者

你題目的意思是隨機生成1000個-1或1,而不是生成1000個[-1,1]之間的隨機數吧?

用rand函式生成0~1之間的隨機數序列,判斷大於0.5的轉化成1,小於等於的轉換為-1即可。

**:num=1000;%總共1000個數a=rand(1,num);生成0~1隨機數序列a(a>0.5)=1;

a(a<=0.5)=-1;

a就是你要求的。

也許還有更簡單的**,比如使用邏輯運算等。

4樓:婦女之偶像

...我來給個簡單的實現吧

a=2*rand(1,1000)-1;

rand(1,1000)產生1000個0-1間的書2*rand(1,1000)產生1000個0-2間的數,再減去1就是-1到1的了

5樓:匿名使用者

產生-1 和1 的隨機序列

math.sin(math.pi / 2 + math.ceiling(rnd() - 0.5) * math.pi)

如何用matlab產生一個隨機二進位制序列

6樓:小丁創業

方法和詳細的操作步驟如下:

1、第一步,在計算機桌面上,雙擊matlab桌面圖示以進內入matlab工作介面,見下容圖,轉到下面的步驟。

2、第二步,  執行完上面的操作之後,dec2bin():從十進位制轉換為二進位制,呼叫格式:b = dec2bin(a)。 其中b是二進位制,a是十進位制,見下圖,轉到下面的步驟。

3、第三步,執行完上面的操作之後,bin2dec():此函式實現從二進位制到十進位制的轉換,呼叫格式為:a = bin2dec(b), 其中b是二進位制,a是十進位制,引數b的資料型別是字元型別,見下圖,轉到下面的步驟。

4、第四步,執行完上面的操作之後,當使用上述函式時,只能實現非負整數和第二個十六進位制數之間的轉換。

如果使用負整數,將發生錯誤,見下圖。這樣,就解決了這個問題了。

7樓:匿名使用者

先用命令 unifrnd(0,1,1,n) 生成1行n列的0~1之間的均勻隨機數,之後》0.5的為1,小於0.5的為0,這樣n個1,0序列即為一個n位二進位制隨機數列。

8樓:匿名使用者

有兩bai種方法:

【方法一】:這du裡用到兩個函式zhi:

1.rand()用來產生0-1之間dao

的隨機數專,

2.fix()求取最小整數

若想產生一個屬包含m個整數且整數的範圍在1-n之間的任意數,可通過以下命令: 1+fix(rand(1,m)*n)來產生

【方法二】:用randint 在matlab中用於產生基質的均勻分佈的隨機整數。

比如想產生10個元素的隨機序列陣列,使用語法:

>> randint(1,10,2)

ans =

0 0 0 1 1 0 1 0 0 0

9樓:first百

有兩種方法:

【方法一】:這裡用到兩個函式:

1.rand()用來產生0-1之間的隨機版數,2.fix()求取最小整數

若想產權生一個包含m個整數且整數的範圍在1-n之間的任意數,可通過以下命令: 1+fix(rand(1,m)*n)來產生

【方法二】:用randint 在matlab中用於產生基質的均勻分佈的隨機整數。

比如想產生10個元素的隨機序列陣列,使用語法:

>> randint(1,10,2)

ans =

0 0 0 1 1 0 1 0 0 0

更多資訊,可以參考幫助文件

在matlab中如何隨機產生一個由0和1兩個陣列成的長度為n的隨機序列

10樓:曹玲玲

a=randint(1,1000)

randint(

baim,n)是產生由0和1兩個數

du組成的m*n維矩陣

這樣的隨zhi

機數dao產生專函式還有屬

randn(m,n)產生標準正太分佈的隨機數rand(m,n)產生均勻分佈隨機數

你可以在matlab裡用

help randint

這樣的語句來看幫助檔案,講的很詳細

11樓:匿名使用者

r = randi([0,1],[1,100])

如何用matlab產生只有0和1的長度為n的隨機序列 5

12樓:匿名使用者

二樓說的有誤。rand[x,y]的引數x,y是生成一個x乘y的矩陣,裡面都是隨機數,範圍從0到1(而不是隻有0和1!)。

這裡用和()都可以,沒有區別的。為了生成「只有0和1」的隨機陣列需要在rand之外再做處理。

具體方法:

1.按照一樓的寫法就可以。首先生成隨機數,然後判斷是否》0.5,也就是0.5以下的賦值為0,0.5以上的賦值為1。

2.或者x=ceil(rand(n,1)-0.5)也可以。ceil命令的意思是「改變值為正向的最近的整數」。

其他詳細內容請參見 help rand

13樓:譁眾寵兒

for i=1:n

a(i)=rand[0,1]

end很久沒用matlab了 不知道這種寫法對不對 你查查吧 產生隨機數就是用rand函式 至於是用還是()我忘了,隨機序列需要用陣列來承接 也便於以後的運用

14樓:天上的一條龍

x=randn(n,1)>0.5

如何用c語言產生0到1之間的隨機數

可以寫一個函式,利用math.h中的rand來產生隨機浮點數。include include include 精度0.001的隨機浮點數 float randf main 有些書上說用rand得到的可能是負數。如果有出現負數的話,對rand得到的數取絕對值就可以了。 愛染年 方法一 1 功能 產生0...

在excel裡如何用OFFSET函式把12列25行的資料變成豎列?資料要一行接一行那樣列下去

在n1中輸入或複製貼上下列公式之一 先行後列 offset a 1,row a1 1 12,mod row a1 1,12 index a l,row a1 1 12 1,mod row a1 1,12 1 indirect address row a1 1 12 1,mod row a1 1,12...

1 2 4 8 162 n 1 如何用公式解 謝謝

這是一個等比數列的問題 即為1 等比數列sn 第一項稱為a1,第n項稱為an,後一項是前一項的q倍在這個題裡面a1 1 an 2 n 1 q 2公式裡an a1 q n 而等比數列的求和公式為 sn a1 1 q的n次冪 1 q 所以這道題和為1 2 1 2 n 1 1 2 等比數列求和公式 sn ...