1樓:破車偽球迷
你的理論值是多少?我執行了多次,發現是0.9幾
在matlab中,在1到1000中,生成十個隨機數。共兩百個樣本。怎樣讓它執行兩百次?
2樓:匿名使用者
you can use:
for i = 1:200
disp('something you want to run 200 times!')
endit will run 200 times.
matlab中用一萬以內的素數作為隨機數種子(大概有1000多個),然後跑某個函式s(1000多次),請問如何完成
3樓:劉賀
這關鍵要看你的函式s是什麼了?素數種子倒是好求:
clear all;clc;
x=1:10000;
idx=isprime(x);
xp=x.*idx;
xp(xp==0)=;
matlab如何產生不重複的隨機數啊?
4樓:匿名使用者
整數吧?如果是浮點數,直接用rand就行,重複的概率極低。
樓上的兩個回答,一個生成的是浮點數,另一個不能保證抽樣的均勻性(從結果可以看到,資料集中在10-30之間)。
生成不重複整數的問題其實是一個不放回隨機抽樣的問題,可以使用下面的這個函式:
function s = sampling(r, n)
% 選擇抽樣,r為記錄集合,n為抽取的樣本數
% 演算法參考:d. e. knuth, taocp, vol.2, pp142,稍有改動
% 編寫函式時用的測試資料
if ~nargin
r = 1 : 8;
n = 4;
endn = length(r);
t = 0; % 處理過的記錄總數
m = 0; % 已選得的記錄數
while 1
u = rand;
if (n-t)*u < n-m
m = m + 1;
s(m) = r(t+1);
% 若已抽取到足夠的記錄,則演算法終止
if m >= n, break, end
endt = t + 1;
end呼叫例項:
>> sampling(1:100,8)
ans =
8 21 24 31 42 85 91 92
5樓:匿名使用者
rand(1,8)*100
ans =
columns 1 through 7
81.4724 90.5792 12.6987 91.3376 63.2359 9.7540 27.8498
column 8
54.6882
6樓:喬心雨
x=randperm(100);x=x(1:8)
7樓:流星日食
clcn=20;
a=ceil(rand(1,20)*100);
[b, m, n]=unique(a);
d=b(1:8)
執行結果
d =12 18 19 20 21 23 24 26
matlab中如何實現自定義的輸出隨機數
8樓:匿名使用者
num=200; %生成隨機數的個數
i=1; %不相同元素的間隔
out=zeros(1,num); %先為out分配空間
b=randperm(100);
b=b(1:i); %b為1-100中i個不重複的隨機數
for k=1:num
c=setdiff(1:100,b); %從1-100中扣除b中的i個數
new=c(randi(100-i,1)); %new是剩下的100-i個數中隨機抽取的一個
out(k)=new; %將新生成的new儲存到out矩陣
b=[b(2:end) new]; %去除b中的第一個數,將new放到b最後
endnum用於輸入要生成隨機數的個數
i是不同元素的要求間隔
的到的out就是符合條件的隨機矩陣
主要就是利用b去儲存前i個已經生成的隨機數
迴圈:然後從1-100的100箇中取出b中的i個數
從剩下的數中隨機抽取1個數,這個數肯定不會和前面的i個數重複
儲存這個新生成的隨機數
捨棄b中的第一個數,將新隨機數放到b末尾
新的b還是i個不重複的隨機數
然後重複迴圈,直到生成的隨機數個數滿足num的要求
matlab中用rand函式生成1000個隨機數的程式?
9樓:遊蕩的汰沐
clear;
clc;
a=;for i=1:1000
a(i)=rand; %隨機生成一個隨機數放入a(i)中i=i+1;
enda
怎麼呼叫matlab中函式,編寫m檔案,生成服從均勻分佈的隨機數?
10樓:匿名使用者
用matlab的rand()和unidrnd()產生服從均勻分佈的一組隨機數
rand(m,n)產生m行n列的【0,1】均勻分佈隨機數
unidrnd(n,m,n)產生m行n列的數值小於n的【0,n】均勻分佈隨機數
>> rand(3,5)
ans =
0.8147 0.9134 0.2785 0.9649 0.9572
0.9058 0.6324 0.5469 0.1576 0.4854
0.1270 0.0975 0.9575 0.9706 0.8003
>> unidrnd(100,3,5)
ans =
15 80 4 68 40
43 96 85 76 66
92 66 94 75 18
11樓:素素姐愛上
還需要m檔案嗎看直接rand*2-1就可以了(rand函式可帶引數指定生成陣列的維數):
>> rand(3,4)*2-1
ans =
0.8116 0.2647 0.0938 -0.6848
-0.7460 -0.8049 0.9150 0.9412
0.8268 -0.4430 0.9298 0.9143
12樓:匿名使用者
rand(m,n)會產生mxn大小的矩陣,矩陣的每個元素符合0~1的均勻分佈。
rand(n)會產生一個維度是n的列向量,每個元素符合0~1的均勻分佈。
rand()函式會返回一個0~1之間的隨機數。
matlab中怎樣生成一個區間內不重複的隨機數?
13樓:草是一顆植物
即產生隨機排列:
p = randperm(n) returns
a random permutation of the integers 1:n.
所以要產生[16 31]的隨機排列,可以執行:
randperm(31-16+1)+15
隨機數是專門的隨機試驗的結果。在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。
在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。
產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。
真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等。這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。
在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過一個固定的、可以重複的計算方法產生的。計算機或計算器產生的隨機數有很長的週期性。
matlab產生隨機數,急求matlab產生隨機數
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 ...
matlab中如何產生n個隨機數,和為定值
yty隨意 1 首先在電腦中,找到並開啟matlab軟體,二項分佈隨機數的產生。2 接著輸入二項分佈隨機數x b n,p n為發生次數,p為發生概率,如下圖所示。3 然後輸入泊松分佈,引數為p,如下圖所示。4 接著輸入指數分佈,引數為 如下圖所示。5 最後正態分佈,x n 2 如下圖所示,就完成了。...
Matlab如何生成正太分佈隨機數,並畫出直方圖
by dynamic see also n 20 二項分佈選用的引數n p 0.8 引數p data binornd n,p,100,100 每列一個樣本 data mean data 求均值hist data,50 快樂的秋風 如果需要的是頻率直方圖,可以考慮如下做法 x normrnd mu,s...