Re: [問題] 如何由特定數值產生隨機數列?已回收

看板MATLAB作者 (小太保)時間16年前 (2009/05/21 01:52), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《ChuBomb (蛆小弟)》之銘言: : 標題: [問題] 如何由特定數值產生隨機數列? : 時間: Wed May 20 23:20:03 2009 : : : 如題 : 想要產生一個512筆資料的序列, : 這512筆資料是由1,2,3,4這四個數值隨機組成的, : 請問要用什麼function來產生呢? : 感謝解答! : : EX:Y=[2 1 1 3 1 4 1 2 3 ..........2 3 3 1 4 ]共512筆 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 125.224.130.100 : 推 panzertp:floor(1+4*rand(1,512)); 05/20 23:22 : 推 zhewei:randint(1,512,[1 4]) 05/21 00:37 : 推 laechan:喔喔!! 2F 的寫法超有fu的 ^^b 05/21 00:44 : 推 panzertp:2樓那指令新版好像沒有了? 05/21 01:10 那可以自己寫 function yy = randint2(m,n,ran) yy=zeros(1,m*n); mran=min(ran)-1; lran=max(ran)-mran; for i=1:lran:m*n yy(1,i:i+lran-1)=mran+randperm(lran); end yy = reshape(yy,n,m)'; end 藉這個問題順便問一下, 自己寫好的 function 如果要變成全域 可用的 function(類似 simul efun 的概念) 要怎麼做? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: laechan 來自: 118.170.104.28 (05/21 01:57)

05/21 02:34, , 1F
丟到你的路徑之一就能隨時call了吧?是你要的意思嗎
05/21 02:34, 1F

05/21 11:05, , 2F
不是,像mse(均方差)這函數我在寫很多lab時都會用到,但如果
05/21 11:05, 2F

05/21 11:06, , 3F
我的matlab本身沒有mse我就要自己寫,寫好後想放在固定目錄
05/21 11:06, 3F

05/21 11:06, , 4F
(如 /mytool),這樣我以後寫任何lab就都可以call mse這函數
05/21 11:06, 4F

05/21 11:06, , 5F
但我不知道怎麼設:p
05/21 11:06, 5F
突然發現最下面的程式寫錯,整個移除好了 ※ 編輯: laechan 來自: 220.131.227.202 (05/21 11:21)

05/21 11:22, , 6F
File->Set Path->Add Folder
05/21 11:22, 6F

05/21 11:23, , 7F
喔喔!! 感謝樓上~ (可順便幫看 reshape 那個有無問題嗎)
05/21 11:23, 7F
yy=randint2(2,8,[1 4]); yy = Columns 1 through 12 1 4 2 3 2 3 1 4 3 4 1 2 Columns 13 through 16 2 1 4 3 這裡沒問題, 但做完 reshape 後就出問題了... yy = 1 2 2 1 3 1 2 4 4 3 3 4 4 2 1 3 啊, 該不會 reshape 是先↓再→吧...改一下... yy = reshape(yy,n,m)'; yy = 1 4 2 3 4 1 2 3 1 2 3 4 3 2 1 4 ^_^ 推 ericabab:如果是用迴圈一直call的話,用randint會慢很多哦 不過 ericabab 說的也有道理, 這題反而應該把 reshape 用在別處 function yy = randint2(m,n,ran) mran=min(ran)-1; lran=max(ran)-mran; tmp=(m*n)/lran; yy=zeros(tmp,lran); for i=1:tmp yy(i,:)=mran+randperm(lran); end yy = reshape(yy',n,m)'; end ※ 編輯: laechan 來自: 220.131.227.202 (05/21 11:29) ※ 編輯: laechan 來自: 220.131.227.202 (05/21 11:37)
文章代碼(AID): #1A54DJp7 (MATLAB)
文章代碼(AID): #1A54DJp7 (MATLAB)