persistent
Definir variables persistentes
Sintaxis
Descripción
persistent var1 ... varN declara las variables especificadas como persistentes. Las variables persistentes son locales para la función en la que se declaran, pero sus valores se conservan en la memoria entre llamadas a la función. El código de la línea de comandos de MATLAB® y de otras funciones no puede cambiar variables persistentes.
Cuando MATLAB detecta por primera vez una instrucción persistent determinada, inicializa la variable persistente en una matriz vacía ([]).
MATLAB borra variables persistentes cuando se borra o modifica una función que está en la memoria. Para mantener una función en la memoria, utilice mlock.
Ejemplos
Sugerencias
Las variables persistentes son similares a las variables globales porque MATLAB crea un almacenamiento permanente para ambas. Se diferencian de las variables globales en que las variables persistentes son conocidas únicamente para la función que las declara. Por lo tanto, el código de la línea de comandos de MATLAB u otras funciones no pueden cambiar variables persistentes.
Dado que MATLAB inicializa una variable persistente en una matriz vacía (
[]), normalmente las funciones comprueban si una variable persistente está vacía y, en ese caso, la inicializan.function myFun() persistent n if isempty(n) n = 0; end n = n+1; end
La declaración de una variable como persistente debe preceder a cualquier otra referencia a la variable, incluidos argumentos de entrada o salida. Por ejemplo, las declaraciones de
persistentde las siguientes funciones no son válidas.function myfunA(x) persistent x end function myfunB x = 0; persistent x end
Para borrar una variable persistente, utilice
clearcon el nombre de la función que declara la variable. Por ejemplo,clear myFun.
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006a