1樓:
function output=getrandomdata(x)
a=[0,1,2,3,4,x,x+1,x+2,x+3,x+4,2*x+1,2*x+2,2*x+3,2*x+4,3*x+1,3*x+2,3*x+3,3*x+4,4*x+1,4*x+2,4*x+3,4*x+4];
index=randi(size(a,2),1,100);
output=a(1,index);
end儲存檔案getrandomdata.m檔案,可隨意呼叫,x值可自行設定
例如輸入
getrandomdata(4)
ans =
columns 1 through 19
12 5 6 0 4 4 3 4 0 8 19 4 0 1 14 17 4 7 19
columns 20 through 38
19 6 19 17 19 0 9 16 12 2 14 2 1 16 10 6 4 0 7
columns 39 through 57
1 3 9 18 7 8 6 17 4 9 3 13 10 8 14 11 10 7 1
columns 58 through 76
0 5 7 6 12 17 10 20 3 7 10 18 0 12 20 3 4 17 13
columns 77 through 95
14 14 8 4 12 13 17 16 7 3 1 18 18 7 12 10 10 19 8
columns 96 through 100
4 18 12 18 12
2樓:我行我素
x=5;
a=randi(5*x,1,100)
按上面語句試試
怎麼用matlab生成100個標準正態分佈的隨機數並畫出直方圖
3樓:
要返回100個在[0 1]上的正態隨copy機數就不能那麼做了可以建立索需要的分佈函式,例如這裡用標準正態分佈函式function y=nf(x)
y=exp(-x.^2/2)/sqrt(2*pi);
end然後在命令列輸入
r=rand(100,1)
n=nf(r)即可
至於繪圖
plot(r,n,'.')
4樓:思緒無痕
f=normrnd(0,1,1,100)
hist(f)
matlab如何程式設計產生正態分佈的隨機數的程式?
matlab在一定範圍內生成隨機數
5樓:匿名使用者
rand([m n])產生 m行,n列(0,1)範圍內均勻分佈的偽隨機數
如果要求在區間(a,b)內產生均勻分佈的隨機數
r = a + (b-a).*rand([m n]));
如何使用matlab產生指數分佈的隨機數
6樓:戀圈圈兒
在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;
7樓:匿名使用者
exprnd(2,3,4)
產生3行4列均值為2的指數分佈隨機數
用matlab生成一組隨機數,比如生成200個數,然後取前100個數,求這100個數的均值和方差,怎麼寫程式?
8樓:眼疾手快
randi([0 100])可以生成一個0到100的隨機數randi([0 100],n)生成一個n*n矩陣的隨機數randi([0 100],m,n)是一個m*n的矩陣不知道你想要哪種
matlab 中怎樣按概率產生隨機數?
9樓:匿名使用者
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);sum(100*clock)for k=1:n
x1= min + (max-min).*rand(1);
x2=uper*rand(1);
x3=(1-x1*x1)/(1+x1*x1)/(pi-2); %此處為指定的概率密度函式f(x)的位置
while x2>x3
x1= min + (max-min).*rand(1);
x2=uper*rand(1);
x3=(1-x1*x1)/(1+x1*x1)/(pi-2);
endy(k)=x1;end
10樓:匿名使用者
a=randsrc(1,3,1:100)
這個函式的意思是產生一個1*3的隨機陣列,取值是從1到100等概率的。
設s為a的某個元素,你可以假定:
如果 s<=40 則 s'=a
如果 41<=s<=65 則s'=b
如果 66<=s<=100 則 s'=c這樣做可能比較麻煩,應該有直接實現以上功能的函式。
你可以查一下。
我也是初學者,共同學習,望採納
11樓:
採用輪盤賭法,把100看做一個輪盤,則產生1-40之間的數概率為40%,41到65之間的數概率為25,66到100之間的概率為35%。
怎樣在matlab圖形中新增網格
有幾種方法,你借鑑一下 x 0 0.01 2 y x plot x,y 1 set gca,xgrid on 2 set gca,xminorgrid on 3 grid on 4 grid minor 1 開啟matlab的plot函式的乙個圖形。2 在plot函式後加上grid on即可新增網格...
matlab中,2A的含義,在Matlab中,A2與A2結果有什麼不同
不是隨機的,但我也沒看懂,抱歉 matlab 中的運算 襲都是基於矩陣bai的運算,乙個矩陣的乘方運算可以表示成dua x,要求zhia為方陣,x為標量。根dao據矩陣的運算即要前矩陣的列數等於後矩陣的行數才能進行運算,故a x這個算式一定有解,2 a這個算式不符合矩陣運算的條件,所得結果可能是系統...
matlab角度怎麼表示,在matlab中,角度用什麼字母表示
1 首先需要知道matlab中表示角度的函式是sind cosd tand等,sin cos tan函式等都是以弧度為單位。2 可以看一下sind函式介紹,在命令列視窗中輸入 help sind 3 如果用sind函式表示角度的話,輸入 sind 30 其中30是角度。4 如果用sin函式表示角度的...