MATLAB 板


LINE

※ 引述《runkong (米塔克)》之銘言: : 小弟是matlab新手, : 這幾天遇到了兩個迴圈和變數的問題實在搜不到類似的討論, : 因此想請教板上的各位大大。 : 這是一個模擬評選的模型 : 會有3~8個隨機數量的參賽者 : 總評審數量是由2~17位隨機出現,A就是他們的評分模式 : 其中會有總評審人數會有0~總評審人數的特殊評審,B就是他們的評分模式 : 原本的input是如下所示 : B_1(1) = 1 ; : B_1(2:z_nub(n)) = randsample (ww_x,(z_nub(n)-1)) ; : B_2(1) = 1 ; : B_2(2:z_nub(n)) = randsample (ww_x,(z_nub(n)-1)) ; : B_3(1) = 1 ; : B_3(2:z_nub(n)) = randsample (ww_x,(z_nub(n)-1)) ; 以上三個B可疊在一起寫成 B=[1 randsample(ww_x,(z_nub(n)-1)) 1 randsample(ww_x,(z_nub(n)-1)) 1 randsample(ww_x,(z_nub(n)-1))]; 可寫成迴圈形式 for i=1:3 B(i,:)=[1 randsample(ww_x,(z_nub(n)-1))]; end : A_4(1) = 1 ; : A_4(2:z_nub(n)) = randsample (ww_x,(z_nub(n)-1)) ; : A4(n)=randsample(first_place,1); : A_4(1)=A_4(A4(n)); A_4(A4(n)) = 1; 你A4有必要留下來嗎? 如果不用留可以寫成 t=randsample(first_place,1); A_4([1 t])=A_4([t 1]); : A_5(1) = 1 ; : A_5(2:z_nub(n)) = randsample (ww_x,(z_nub(n)-1)) ; : A5(n)=randsample(first_place,1); : A_5(1)=A_5(A5(n)); A_5(A5(n)) = 1; for i=1:2 A(i,:)=[1 randsample(ww_x,(z_nub(n)-1))]; t=randsample(first_place,1); A(i,[1 t])=A(i,[t 1]); end : 第一個問題是每個評審分別都會對不同參賽者排序 : 假設來5位參賽者那就是評審會隨機評1~5名 : 可能會有以下情況 : B_1得到[1,2,5,3,4] : B_2得到[1,5,4,3,2] : B_3得到[1,4,5,3,2] : A_4得到[3,4,5,1,2] : A_5得到[4,3,2,5,1] : 我希望他能夠自行將 總評審數量由1跑到17, : 並搭配特殊評審由0跑到該次的總評審數量做組合搭配 : 當B=3 A=5時,他能跑出上面那5個陣列, : 想用迴圈但卡住寫不出來,有人推薦我可能可以用二維陣列去寫? : 不知有沒有什麼語法可以推薦呢? 所以你要的大概是這樣? for i=1:17 for j=0:i clear A,B for k=1:i-j B(k,:)=[1 randsample(ww_x,(z_nub(n)-1))]; end for k=1:j A(k,:)=[1 randsample(ww_x,(z_nub(n)-1))]; t=randsample(first_place,1); A(i,[1 t])=A(i,[t 1]); end %% 做你想做的事 end end : 第二個問題是 : 每個評審分別都會對不同參賽者排序 : 假設來5位參賽者那就是評審會評1~5名 : 可能就會有以下情況 : B_1得到[1,2,5,3,4] : B_2得到[1,5,4,3,2] : B_3得到[1,4,5,3,2] : A_4得到[3,4,5,1,2] : A_5得到[4,3,2,5,1] : 最後每個人的排序加起來最低的就是勝者 : 會得到C=[1,2,5,3,4 : 1,5,4,3,2 : 1,4,5,3,2 : 3,4,5,1,2 : 4,3,2,5,1] 如果問題一的解法可行 這裡的C就單純是C=[A;B]; : 我會自己另外把他變成 : D=[10,18,21,15,11] 這邊的D可以寫成 D=sum(C,1); : 第二個問題就在"A和B這兩個不固定數量與長度的陣列疊加成一個矩陣" : 也就是C這個步驟我辦不到只能土法煉鋼每個狀態去更改, : 剛剛查到似乎可以使用append去串接, : 不過因為第一個問題所以沒辦法嘗試 : 且每次名稱都會由A1.A2.A3做變化因此無法使用A=1:17; : 我有看到可以用eval依照他們增質的數量去定義, : 不過自己嘗試寫了一下還是跑不出來. : 目前也算是只用土法煉鋼的方法在更改 : 麻煩各位幫忙了 兩個問題解答一個的750P 以表感謝 希望有解決你的問題 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.170.221
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1495475090.A.F86.html
1F:推 runkong: 感謝解答 不過從早上一直嘗試到現在還是怪怪的 05/23 16:24
2F:→ runkong: 目前分別測A和B都是可用的 05/23 16:25
3F:→ runkong: C看起來是可用的 但大迴圈怪怪的 05/23 16:26
4F:→ runkong: 目前正在尋找是哪邊有問題 05/23 16:27







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP