[問題] 如何向量化?已回收

看板MATLAB作者 (Madchester)時間16年前 (2009/05/27 22:06), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/1
假設我有一個矩陣A A = 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 2 3 5 4 6 8 1 0 0 0 0 1 0 0 1 2 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 我想要把所有column只包含有一個1的挑出來 也就是 [1 2 3 10 11 12] 這幾個column 目前是想說用find(sum(A(:, 1:end)) == 1) 可是這樣好像不行... 還是說這類型的問題只能寫for迴圈? 煩請指教 謝謝:) -- Kraft Durch Freude~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.251.21

05/27 22:17, , 1F
如果都是非負整數的話, sum(A)==1 就可了XD
05/27 22:17, 1F

05/28 00:56, , 2F
......orz 不是吧 XD
05/28 00:56, 2F

05/28 01:11, , 3F
A(:, sum(A) == 1)
05/28 01:11, 3F

05/28 13:06, , 4F
綜合上面大大的答案+用matlab跑的結果:find(sum(A)==1)
05/28 13:06, 4F

05/28 13:07, , 5F
它回傳的結果為 [1 2 3 10 11 12] 應該就是原po要的
05/28 13:07, 5F

05/28 17:46, , 6F
嗯嗯 我也試了 謝謝各位 orz
05/28 17:46, 6F
文章代碼(AID): #1A7KZhUm (MATLAB)
文章代碼(AID): #1A7KZhUm (MATLAB)