Contenido principal

Áreas de trabajo básica y de función

Al empezar a trabajar en MATLAB®, normalmente se interactúa con el área de trabajo básica. Cuando defina sus propias funciones o clases y analice su código usando Debugger, es probable que interactúe con las áreas de trabajo de funciones. En este tema se describen las diferencias entre las áreas de trabajo y cómo identificar qué área de trabajo está activa.

¿Qué es el área de trabajo básica?

El área de trabajo básica suele contener las variables que se crean al ejecutar código en la línea de comandos y en los scripts. Por ejemplo, cuando se asigna un valor a X en la línea de comandos, se crea o actualiza X en el área de trabajo básica.

X = rand(10);

The Workspace panel shows four columns: Name, Value, Size, and Class. The name of the variable is X, and its value is 10-by-10 double.

Las variables del área de trabajo básica existen en la memoria hasta que se eliminan o se finaliza la sesión de MATLAB.

Áreas de trabajo de funciones

El código dentro de las funciones no utiliza el área de trabajo básica. Cada función tiene su propia área de trabajo de función. Cada área de trabajo de función está separada del área de trabajo básica y del resto de áreas de trabajo para proteger la integridad de los datos. Incluso las funciones locales de un archivo común tienen sus propias áreas de trabajo. Una variable creada dentro de una función pertenece al área de trabajo de esa función y solo está disponible dentro de esa función.

Por ejemplo, imagine que define una función en un archivo. En este ejemplo, la función areaCircle acepta una entrada llamada R, crea una variable local rSquared y devuelve una salida llamada A.

Establecer un punto de interrupción en el editor detiene la ejecución al llamar a la función, lo cual permite interactuar con el área de trabajo de la función. Mientras depura, puede alternar entre las áreas de trabajo de la pila actual, incluida el área de trabajo básica, utilizando las opciones del editor y de Debugger.

When the desktop is in debugging mode, the name of the function workspace appears at the top of both the Workspace panel and the Editor. The Debugger panel includes a section named Function call stack below the section named Breakpoints.

Cuando areaCircle termina la ejecución, el área de trabajo básica contiene myArea y X. Las variables A, R y rSquared, que eran locales en areaCircle, no están en el área de trabajo básica.

The Workspace panel shows two variables, myArea and X.

Los scripts no tienen sus propias áreas de trabajo. Cuando se llama a un script desde una función, el script utiliza el área de trabajo de función. De lo contrario, el script usa el área de trabajo básica.

Funciones anidadas

Al igual que las funciones locales, las funciones anidadas tienen sus propias áreas de trabajo. Sin embargo, existen dos diferencias significativas:

  • Las variables del área de trabajo de la función principal también están disponibles en las funciones anidadas.

  • Todas las variables de las funciones anidadas y las funciones principales deben estar definidas explícitamente. Es decir, no se puede llamar a una función o a un script que asigne valores a variables a menos que dichas variables ya existan en el área de trabajo de función.

Para obtener más información, consulte Funciones anidadas.

Consulte también

Temas