Re: [討論] 想請教如何有效率地找出特定元素位置
※ 引述《smarter1004 (請拒絕看各新聞台)》之銘言:
: 各位高手大家好
: 假設 size(a) = [1 5]
: 那如果我要找出a中等於0的元素位置我只要輸入
: a == 0
: 那麼如果 size(a) = [10 5]
: 我要找出a中等於[1 2 3 4 5]的row似乎只能用for迴圈解決
: 但它實在有夠慢
: 有沒有類似第一個有效率方法的寫法呢?
: 謝謝各位
把它視為矩陣運算會比較快
我亂造一個 pp x 5 的矩陣M
每個row的數值為介於0~10的整數
從裡面找有哪些row的內容為 [1 2 3 4 5]
基本想法是先來個矩陣減法
再來找哪些row的平方和為0
pp=1000000;
a = [1 2 3 4 5];
M = floor(rand(pp,5)*10);
tic;
tmp=(M-ones(pp,1)*a)';
find(sum( tmp.^2 )==0)
toc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.92.125
→
10/08 20:30, , 1F
10/08 20:30, 1F
→
10/08 20:50, , 2F
10/08 20:50, 2F
推
10/09 00:26, , 3F
10/09 00:26, 3F
→
10/09 00:26, , 4F
10/09 00:26, 4F
→
10/09 08:05, , 5F
10/09 08:05, 5F
推
10/09 10:07, , 6F
10/09 10:07, 6F
推
10/09 10:39, , 7F
10/09 10:39, 7F
推
10/09 15:04, , 8F
10/09 15:04, 8F
推
10/09 15:34, , 9F
10/09 15:34, 9F
→
10/09 15:35, , 10F
10/09 15:35, 10F
推
10/09 16:53, , 11F
10/09 16:53, 11F
→
10/09 16:53, , 12F
10/09 16:53, 12F
推
10/09 18:14, , 13F
10/09 18:14, 13F
推
10/10 03:05, , 14F
10/10 03:05, 14F
討論串 (同標題文章)