固定的第一和最後一個元素,我有如下所示(任意的cols /行)矩陣:Matlab的:在矩陣搜索行與矢量
1 0 0 0 0
1 2 0 0 0
1 2 3 0 0
1 2 3 4 0
1 2 3 4 5
1 2 5 0 0
1 2 5 3 0
1 2 5 3 4
1 4 0 0 0
1 4 2 0 0
1 4 2 3 0
1 4 2 5 0
1 4 2 5 3
1 4 5 0 0
1 4 5 3 0
2 0 0 0 0
2 3 0 0 0
2 3 4 0 0
2 3 4 5 0
2 5 0 0 0
2 5 3 0 0
2 5 3 4 0
3 0 0 0 0
3 4 0 0 0
3 4 2 0 0
3 4 2 5 0
3 4 5 0 0
,現在我想獲得的所有行第一要素是一個確定的值X,並且最後一個元素(即最後一個元素!= 0)是一個確定的值Y或OR:第一個是Y,最後一個是X.
看不到任何快速代碼它不使用for循環:( 謝謝!
編輯:要用特定的第一個元素過濾所有行很容易,你不需要在這裏幫助我。因此,讓我們假設我只想做到以下幾點:過濾所有行的最後一個元素(即最後一個元素每一行!= 0)是X或Y的
編輯 非常感謝您的文章。我使用473408 * 10個元素的矩陣對三種可能的解決方案進行了基準測試。這裏的benchmarkscript: http://pastebin.com/9hEAWw9a
結果爲:
t1 = 2.9425 Jonas
t2 = 0.0999 Brendan
t3 = 0.0951 Oli
所以非常感謝你們,我與奧利奇的解決方案堅持,從而接受它。感謝所有其他解決方案!
好主意,即使它會失敗,如果在結束之前有零。 +1無論如何 – Jonas 2012-01-18 18:12:00
@Jonas:你的意思就像在布蘭登的解決方案?實際上,就像我在brendans post上評論的那樣,這並不重要,因爲在reall結尾實際上只有零。 – tim 2012-01-18 20:21:22
@Oli:感謝Oli,這也很不錯!看看我在第一篇文章中的編輯,有基準腳本和你的劇本勝利(:因此我接受了! – tim 2012-01-19 07:54:00