1樓:匿名使用者
第一個問題,執行下面的**就都有了。
x=10*rand(1,1000);
t=1:1000;
plot(t,x);
max_rand=max(x);
min_rand=min(x);
mean_rand=mean(x);
segma=std(x);
第二個,執行下面**:
a=[0 1 0;1 0 0;0 0 1];
b=[1 0 0;0 0 1;0 1 0];
c=[1 -4 3;2 0 -1;1 -2 0];
x=a^-1*c*b^-1
得:x =
2 -1 0
1 3 -4
1 0 -2
2樓:在天姥山耍空竹的銀河
1.如2樓所示,正解
2.2樓的也正確。也可以如下表示
輸入a=[0 1 0;1 0 0;0 0 1];
b=[1 0 0;0 0 1;0 1 0];
c=[1 -4 3;2 0 -1;1 -2 0];
d=inv(a);
e=inv(b);
x=c*d*e;
3樓:匿名使用者
(1)i=1:1000;
x=10*rand(1,1000);
plot(i,x);
max=max(x);
min=min(x);
mean=mean(x);
segma=std(x);
(2)a=[0 1 0;1 0 0;0 0 1];
b=[1 0 0;0 0 1;0 1 0];
c=[1 -4 3;2 0 -1;1 -2 0];
x=inv(a)*c*inv(b)
4樓:匿名使用者
a=rand(1,1000)*10;%%這是產生1000個隨機數
matlab 如何產生 0 1 之間的1000個正太分佈隨機數 並畫圖
5樓:
randn([1,1000]),表示在【0,1】間生成1*1000的隨機正態分佈矩陣,在workspace裡點
一下返回值(預設為ans),然後在專plots那裡就會提供各種屬**圖形的了(基於2015a版本)
matlab產生隨機數問題
6樓:long1209龍是我
第一個問題,執行
下面的**就都有了。
x=10*rand(1,1000);
t=1:1000;
plot(t,x);
max_rand=max(x);
min_rand=min(x);
mean_rand=mean(x);
segma=std(x);
第二個,執行下面**:
a=[0 1 0;1 0 0;0 0 1];
b=[1 0 0;0 0 1;0 1 0];
c=[1 -4 3;2 0 -1;1 -2 0];
x=a^-1*c*b^-1
7樓:匿名使用者
用rand吧。rand產生0到1之間的隨機數。
舉個例子,假設需要1到5之間100個數。
1+(5-1)*rand(1,100)就行了。rand(a,b)表示a行b列
8樓:我叫大黃瓜
如樓上所說的用rand(平均分佈)或者randn(正態分佈)先產生0-1的隨機數,如果要看和的統計值直接bar就可以了
9樓:敏語出樂意
是嗎?看看我的
。>>
a=floor(10*rand(4,5)-5)a=4334
4-32-1
241-1
1-4-1-1-52
-13>>
a=floor(10*rand(4,5)-5)a=-5-4
-3-13-2
-3-440
3-4-5-1
-3-512
-11>>
a=floor(10*rand(4,5)-5)a=33
-2-2
-2-50-4
0312
-4-43-2
-1110
10樓:小三太撫媚丶
在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;
matlab產生隨機數並迴圈
11樓:匿名使用者
1. matlab 函式 rand
產生在區間 (0, 1)的均勻隨機數,它是平均分佈在 (0,1)之間。一個稱為seed的值則是用來控制產生隨機數的次數。均勻隨機數函式的語法為rand(n),rand(m,n),其結果分別產生一矩陣含n×n個隨機數和一矩陣含m×n的隨機數。
注意每次產生隨機數的值都不會一樣,這些值代表的是隨機且不可預期的,這正是我們用隨機數的目的。我們可利用這些隨機數代入算式中,來表示某段訊號的不規則振幅或是某個事件出現的機率。均勻隨機數其值平均的分佈於一區間的特性可以從其統計密度函式(probabilitydensity function, pdf)說明。
從其pdf分佈類似長條圖的分佈,可以看出其每一個隨機數值出現的機率皆相同,所以它被稱為均勻隨機數。
見以下的例子:
>> rand(1,6) % 第一次使用隨機數產生器
ans =
0.2190 0.0470 0.6789 0.6793 0.9347 0.3835
>>hist(ans) % 看看長條圖的長相
>>plot(ans) % 比較上個圖與這個圖有何差異?何者能代表不規則資料的分佈
>> rand(1,6) % 第二次使用隨機數產生器,注意每次產生的隨機數值皆不同
ans =
0.5194 0.8310 0.0346 0.0535 0.5297 0.6711
因為每次隨機數產生的值皆不同,如果因為驗證算式需要確定所使用的隨機數值是相同的,可以利用seed這個選項,用以設定使用計算隨機數產生器的起始值,其語法為rand('seed',n),n的規定是。其中n=0有特別意義是使用第一次產生隨機數值的起始值(=931316785),其它的n值即是所使用起始值。如果使用相同的起始值,則隨機數值會一樣,因為隨機數的計算是依據起始值。
請看以下的例子:
>> rand('seed',0) % 將隨機數值的起始值重設,相當於是第一次產生隨機數值
>>rand('seed') % 顯示現在使用的 seed 值=931316785
ans =
931316785
>> rand(2,3) % 注意隨機數值的上下限介於 [0,1] 區間
ans =
0.2190 0.6789 0.9347
0.0470 0.6793 0.3835
>> rand('seed') % 顯示再產生隨機數值所用的seed=412659990
ans =
412659990
>> rand('seed',0)
>> rand(1,6)
ans =
0.2190 0.0470 0.6789 0.6793 0.9347 0.3835
>> rand('seed',100) % 設定隨機數值的起始值=100
>> rand('seed')
ans =
100>> rand(2,5)
ans =
0.2909 0.0395 0.3671 0.5968 0.9253
0.0484 0.5046 0.9235 0.8085 0.3628
如果需要產生隨機數值不是介於[0,1]區間,可以採用以下步驟將隨機數值從[0,1]區間轉換到其它區間。假設要得到一組隨機數值是介於[2,4]區間,我們先產生一組隨機數介於[0,1]區間 ,再將其值乘以2,因為2等於區間上下限的差值(4-2)。接著再加上下限值(2),即可得到隨機數值是介於[2,4]區間。
例如區間為[a,b],a為下限值,b為上限值。則算式如下
x=(b-a)*r + a,
其中x代表轉換後的隨機數值的陣列。請看下列示範:
>>data_1 = 2*rand(1,500)+2; %原隨機數值有500個
>>plot(data_1) %這個圖是否看來眼熟?
>>axis([1 500 0 6]) %調整橫軸/縱軸上下限
>>hist(data_1) %看看其長條圖
2. matlab 函式randn
產生常態隨機數,它是以高斯分佈在隨機數出現的上下限區間。常態隨機數其值分佈於一區間的特性可以從其統計密度函式(pdf)說明。從其 pdf分佈可以看出其每一個隨機數值出現的機率皆不相同,靠近中間的隨機數值出現的機率比起兩端的值要高,這是一般不規則現象較可能出現的情形,所以它被稱為常態隨機數。
由於常態隨機數並非以上下限來定義,它是用資料的平均值和方差定義之。因此在產生一常態隨機數時,需設定平均值和方差的大小。randn(n)和randn(n,m)是分別產生一矩陣含n×n個隨機數和一矩陣含m×n的常態隨機數,其平均值為0方差為1。
見以下的例子:
>> x=-2.9:0.2:2.9; % 這個例子用到 hist 函式來畫出二種隨機數的分佈圖
>> y=randn(1,5000);
>> hist(y,x)
>> title('histogram of normal random data')
>> y1=rand(1,5000);
>> hist(y1,x)
>> title('histogram of uniform random data')
如果需要產生常態隨機數值的平均值和方差並非0和1,可以採用以下步驟將平均值和方差做轉換。假設要得到一組常態隨機數值的平均值為b和方差為a,我們先產生一組隨機數r,再將其值乘以方差a。接著再加平均值b。
算式如下:
x=a*r + b
其中x代表轉換後的隨機數值的陣列。請看下列示範:
>>data_2 = randn(1,500)+3 %原隨機數值有500個
>>plot(data_2) %這個圖是否看來眼熟?
>>axis([1 500 0 6])
>>hist(data_2) %看看其長條圖
3.randperm(n)
產生一個1到n之間自然數的隨機排列
4.randint(m,n,[1 n])
生成m×n的在1到n之間的隨機整數矩陣,其效果與randint(m,n,n+1)相同。
matlab產生隨機數問題,matlab產生隨機數
化學工程 是嗎?看看我的。a floor 10 rand 4,5 5 a 4 3 3 4 4 3 2 1 2 41 1 1 4 1 1 5 2 1 3 a floor 10 rand 4,5 5 a 5 4 3 1 3 2 3 4 4 03 4 5 1 3 5 1 2 1 1 a floor 10 ...
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 ...
js怎麼產生隨機數,Js怎麼產生隨機數?
js可以用math.random 函式產生隨機數,這裡以產生1到5之間的隨機數為例。1 產生最小到最大之間的函式,包括最小值和最大值,即 min r max 2 產生最小到最大之間的函式,包括最小值但不包括最大值,即 min r max 3 產生最小到最大之間的函式,不包括最小值但包括最大值,即 m...