2012-09-13 32 views
7

La función clearvars tiene las instrucciones presentadas here.Usar clearvars correctamente en MATLAB

Así que decir que tengo un conjunto de variables,

a, b, c, d 

y quiero aclarar estas variables a excepción de d yo debería ser capaz de hacer esto:

clearvars * -except d 

pero me sale el siguiente error:

clearvars * -except d 
       | 
Error: Unexpected MATLAB expression. 

¿Cuál es la razón de esto?

+0

@PeterMortensen, Tu edición tiene un comentario culo tan inteligente. Me encanta ... –

Respuesta

7

Esto funciona: clearvars '*' -except d

Matlab debe tener un problema de conversión de * en una cadena cuando está en su propio. Está bien con a* y *a, pero no con *.

Además, esto funciona:

clearvars('*', '-except', 'd') 
5

El carácter * no es necesario.

+0

pero el ejemplo en la página dice esto: clearvars a * -except -regexp a $ es un ejemplo de un sistema en funcionamiento, entonces ¿por qué la estrella no funciona? –

+1

En ese caso, '*' actúa como un comodín para que coincida con cualquier variable que comience por 'a'. Intenta hacer algunas variables como 'aa = 1; ab = 2; ac = 3', luego use algo como 'clearvars a * -except ab' para ver cómo funciona. – AGS

+1

Sí, entiendo cómo funciona, pero generalmente la estrella lo indica todo. Supongo que es solo una peculiaridad de matlab sobre por qué la estrella en sí misma no funciona. –

Cuestiones relacionadas