MATLAB 板


LINE

我有a,b兩個大小相同矩陣 想統計a矩陣中元素出現的次數 但是不是出現一次加一次 是依照b矩陣中相對應位置的元素當作出現次數 ex. a=[1 2 1 b=[3 2 1 2 1 1 5 1 1 1 1 1] 2 2 2] 1:3+1+1+1+2+2+2=12次 2:2+5=7次 a的元素是正浮點數 但實際多少要依輸入資料而定 b的元素是0~1之間浮點數 想請問這要怎麼做? --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.64.91.30
1F:推 Raymond0710:1:sum(sum((a==1).*b)) 2:sum(sum((a==2).*b)) 12/14 21:53
2F:→ Raymond0710:1:sum(sum(b(a==1))) 2:sum(sum(b(a==2))) 12/14 21:55
3F:→ Raymond0710:兩種方法 12/14 21:55
喔喔!! 可是那是舉例 現實的a我沒辦法用==這種方式寫 因為a元素是浮點數 值的範圍很大 個數也很多 768*1024個 也可能完全沒重複 所以b也是這麼多個0.00001~1.00000的浮點數 這樣的話有比較好的寫法嗎?
4F:推 diva:把==改成>和<如何? 12/15 01:49
如果我是要寫多少數量在區間內的話應該是可以這樣寫 把0~1分五個區間 0~0.2 0.2~0.4...分開統計 如果說要精確統計的話呢?
5F:推 Raymond0710:那可能你要設定一個精度 abs(a-1) < tol 接近1的範圍 12/15 02:03
這個我不知道什麼意思耶... 可以再說明一下嗎? 感謝
6F:推 Raymond0710:針對你的問題 1.00001 0.99999 都視為1的話 12/15 16:27
7F:推 Raymond0710:所以abs(a-1)<0.0001 會是true 12/15 16:30
8F:→ Raymond0710:0.0001是你的精度 12/15 16:31
我有一個想法不知道可不可行 就是我將a當作index去sort b 用一個新的陣列裝 c=[a b a b a b ....] 然後判斷a是否相同再累加b 這樣是可行的嗎? 不過我還是不太清楚這要怎麼寫就是了XD
9F:→ Raymond0710:那用我在1 2樓PO的方法還比較省事 12/16 18:59
10F:→ Raymond0710:所以你現在還有什麼問題? 12/16 18:59
我用我後來這個方法寫完了 只是我還是不了解你的方法 囧 我是這樣寫 麻煩請你幫我看看有沒有問題 L_1d=L(:); NG_1d=Nor_Gau(:); [sort_L, id]=sort(L_1d); num=prod(size(sort_L)); tmpS=[]; tmpS(1,1)=sort_L(1); tmpS(1,2)=0; tmp=sort_L(1); j=1; for i=2:num if sort_L(i)==tmp tmpS(j,2)=tmpS(j,2)+NG_1d(id(i)); elseif sort_L(i)~=tmp j=j+1; tmpS(j,1)=sort_L(i); tmpS(j,2)=NG_1d(id(i)); tmp=sort_L(i); end end
11F:→ Raymond0710:看來沒什麼問題 不過你說過L可能是浮點數不能用==判斷 12/16 20:40
12F:→ Raymond0710:所以我才說了可以改成 abs(sort_L(i)-tmp)<0.0001 12/16 20:41
13F:→ Raymond0710:0.0001 改越小代表精度越高 12/16 20:44
我大概明白你的意思了 總覺得我的方法不夠直覺... 程式碼可能也還有簡化的空間吧 寫了好大一串 不知道哪裡還可以優化 感謝你的指導!! ※ 編輯: cashpaggy 來自: 203.64.91.30 (12/17 00:45)
14F:推 Raymond0710:要優化加速就是1 2樓的方法了 12/17 01:42
15F:→ Raymond0710:若你資料量很大 for迴圈會很慢很慢 12/17 01:43







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燈, 水草

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

TOP