2012-04-24 127 views

回答

42

我認爲它可以作爲

if all(v == v(1)) 

簡單另一種方法是

if range(v) == 0 
+2

'isequal(A,B)'有什麼問題? – 2012-04-24 09:57:11

+6

@reve_etrange - 因爲你誤解了這個問題。 isequal測試以查看兩個數組是否相同。請按照要求重新閱讀問題。它詢問單個陣列的所有元素是否彼此相等。 – 2012-04-24 11:18:10

+2

正確的是... – 2012-04-24 11:22:03

5

另一種解決方案:

numel(unique(v))==1 
+3

'unique'很慢。 – 2012-04-24 13:24:08

+0

@BenVoigt,你說得對,畢竟它使用排序。 – 2012-04-24 13:33:59

+1

+1:這個答案也適用於一個空的v。 – Alex 2013-05-06 11:13:11

2

另一種解決方案:

sum(abs(diff(v))) == 0 
2

如何:max(v) == min(v)? :-)

+0

這可行,但我認爲它比公認的解決方案慢。 – m7913d 2017-06-07 21:46:29

+1

@ m7913d我檢查了它。這個答案和頂級答案一樣快。 – Trilarion 2017-12-21 10:57:01

相關問題