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