En MATLAB, la creación de variables es un proceso intuitivo que difiere de muchos otros lenguajes de programación. A menudo, la pregunta de "cómo declarar una variable desconocida" se refiere a la capacidad de MATLAB para manejar tipos de datos sin una declaración explícita. MATLAB gestiona la declaración de variables de manera automática, determinando su tipo en función del valor que se le asigna.
Creación Básica y Asignación de Variables
Crear variables y asignarle un valor es muy sencillo y se hace con el símbolo igual. A diferencia de otros lenguajes de programación, en MATLAB no es necesario declarar el tipo de variable al definirla. El área de trabajo de MATLAB® consiste en las variables que crea y guarda en la memoria durante una sesión de MATLAB.
Puede crear variables nuevas en el área de trabajo ejecutando código de MATLAB o utilizando variables existentes. Para crear una variable nueva, introduzca el nombre de la variable en la ventana de comandos, seguido por un signo igual (=) y el valor que desea asignar a la variable. No tiene que declarar variables antes de asignarles valores.
Por ejemplo, si escribes a=7, MATLAB identifica automáticamente que a es un número. Efectivamente, si vamos al área de trabajo, podemos comprobar que a es una variable de tipo double, que corresponde a un número de punto flotante con precisión double. Hay muchos otros tipos de variables en MATLAB. Por ejemplo, puedo escribir txt= 'Hola, mundo', y eso lo que hace es crearnos una variable de tipo char que corresponde a un vector o a raíz de caracteres, de tamaño 1x11, uno por cada uno de los caracteres que hemos escrito.
Reglas de Nombres de Variables
Por regla general, puedes poner el nombre que quieras a una variable. Sin embargo, debes saber algunas cosas para evitar errores y problemas. Los nombres de variables deben empezar siempre por una letra, no por un número.
Lea también: IVA 21% Excel
El Área de Trabajo y la Variable 'ans'
Si no termina la instrucción de asignación con un punto y coma (;), MATLAB muestra el resultado en la ventana de comandos. El panel Área de trabajo muestra el resultado de la evaluación de un valor escalar en una variable. Si no asigna de forma explícita la salida de una instrucción a una variable, MATLAB asigna generalmente el resultado a la palabra reservada ans. El valor de ans cambia con cada instrucción que devuelve un valor de salida que no está asignado a una variable.
Inspección y Edición de Variables
Visualizar el Contenido del Área de Trabajo
Para ver una lista de variables en su área de trabajo básica, utilice el Workspace panel. Por ejemplo, abra el panel Área de trabajo usando la función workspace y muestre el nombre, el valor, el tamaño y la clase de variables en su área de trabajo. También puede utilizar el comando who de la ventana de comandos para ver una lista de variables. Para listar información sobre el tamaño y la clase, utilice el comando whos.
Visualizar y Editar el Contenido de una Variable
Puede ver el contenido de una variable introduciendo el nombre de la variable en la línea de comandos. Por ejemplo, vea el contenido de una variable escalar. Igualmente, puede ver el contenido de una variable en Variables editor. Por ejemplo, abra una matriz en el editor de variables usando la función openvar para ver el contenido de la matriz.
Puede editar el contenido de las variables de escalar o variables de vector o matriz de pequeño tamaño en el panel Área de trabajo. Haga clic en el valor de la variable para seleccionarlo y, luego, introduzca un valor nuevo para sobrescribir el valor existente. También puede pulsar Intro para editar el valor existente. Por ejemplo, modifique el valor de un elemento en una matriz pequeña usando el panel Área de trabajo.
Para editar el contenido de otro tipo de variables, utilice el editor de variables. Por ejemplo, modifique el valor de un elemento en una variable de tabla usando el editor de variables. También puede navegar, cambiar el tamaño o visualizar datos y generar código utilizando el editor de variables.
Lea también: Guía IVA reducido
Variables con Ámbito y Comportamiento Especiales
Además de la creación por asignación, MATLAB ofrece mecanismos para declarar variables con características de ámbito o persistencia específicas, aunque su tipo sigue siendo inferido.
Variables Globales
Comúnmente, cada función de MATLAB® tiene sus propias variables locales, que están separadas de las de otras funciones y de las del área de trabajo base. Sin embargo, puede declarar variables con un ámbito global.
global var1 ... varN declara las variables especificadas como de ámbito global. No obstante, si varias funciones declaran un nombre de variable particular como global, todas compartirán una copia única de esa variable. Cualquier cambio de valor para esa variable, en cualquier función, es visible para todas las funciones que la declaren como global. Si la variable global no existe la primera vez que genera la instrucción global, se inicializa en una matriz vacía de 0x0.
Nota: Las variables globales son ineficientes y dificultan el diagnóstico de los errores. Utilice una función con variables de entrada en su lugar. Las variables globales tienen su propia área de trabajo, que es independiente del área de trabajo básica y de funciones. Usar variables globales resulta ineficiente. MATLAB aplica optimización de memoria a las variables de entrada en funciones, pero no a las variables globales. Además, las variables globales conllevan riesgos considerables. Cualquier función puede acceder a una variable global y actualizarla. Otras funciones que usan la variable pueden devolver resultados inesperados.
- Si asigna involuntariamente a una variable global "nueva" el mismo nombre de una variable global existente, una función puede sobrescribir los valores esperados por otra. Este error es difícil de diagnosticar.
- Si una variable global se modifica en varias funciones, llamar a esas funciones en un orden diferente puede dar lugar a resultados distintos.
Utilice las variables globales con moderación, si es que es necesario. Para borrar una variable global de todas las áreas de trabajo, use clear global variable. Para borrar una variable global del área de trabajo actual, pero no de otras, use clear variable.
Lea también: ¿Cómo localizar tus XML del SAT?
Variables Persistentes
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.
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. La declaración de una variable como persistente debe preceder a cualquier otra referencia a la variable, incluidos argumentos de entrada o salida. Para borrar una variable persistente, utilice clear con el nombre de la función que declara la variable.
