2012-04-24 16 views

Respuesta

42

creo que puede ser tan simple como

if all(v == v(1)) 

Otro método sería

if range(v) == 0 
+2

¿Qué pasa con 'isequal (A, B)'? –

+6

@reve_etrange - porque malinterpretaste la pregunta. isequal pruebas para ver si DOS matrices son idénticas. Por favor, vuelva a leer la pregunta como se le preguntó. Pregunta si todos los elementos de una matriz ÚNICA son iguales entre sí. –

+2

Derecho usted está ... –

5

Otra solución:

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

'unique' es bastante lento. –

+0

@BenVoigt, tienes razón, después de todo, utiliza el género. –

+1

+1: Esta respuesta también funciona en un vacío v. – Alex

2

Otra solución:

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

Qué tal: max(v) == min(v)? :-)

+0

Esto funcionaría, pero espero que sea más lento que la solución aceptada. – m7913d

+1

@ m7913d Lo revisé. Esta respuesta es tan rápida como la superior. – Trilarion

Cuestiones relacionadas