Re: [問題] 做個選擇的小目錄已回收
※ 引述《wearedone (done)》之銘言:
: 我有七十四個隨機變數
: 它們服從的分配從這裡挑選出來:Chi-square(3),Beta(8,3),t(7),U(0,1)
: 所以說這七十四個隨機變數所服從的分配是有重複的
: 取亂數向量時,我不想一個一個如以下這樣key全名:
: X1=betarnd(8,3,100,1);
: X2=chi2rnd(3,100,1);
: X3=unifrnd(0,1,100,1);
: X4=trnd(7,100,1);
: X5=chi2rnd(3,100,1);
: X6=trnd(7,100,1);
: X7=chi2rnd(3,100,1);
: X8=betarnd(8,3,100,1);
: X9=unifrnd(0,1,100,1);
: ………………………
: X74=betarnd(8,3,100,1);
先提cell array
cell array的宣告方式如下
Bank=[{5},{6},{7},{8}];
此時Bank{1}=5 Bank{2}=6 ....
注意是用{}而不是()
再看看原po提的問題
首先看到X1~X74大概就知道eval是要用的
再來=的右邊只有4種情形所以可以用一個cell array來裝
Bank=[{betarnd(8,3,100,1)},{chi2rnd(3,100,1)}, ...
{unifrnd(0,1,100,1)},{trnd(7,100,1)}];
因此這時候Bank{1}就是betarnd(8,3,100,1)
再來用eval
for i=1:74;
eval(['X' num2str(i) '=' 'Bank{' num2str(round(1+rand*3)) '};'])
end
如果你Bank裡面提到的4個函數都寫好的話..現在應該有值出來了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.9.131
※ 編輯: panzertp 來自: 114.44.9.131 (05/12 17:52)
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章