Crear y ejecutar secciones en código
Los archivos de código de MATLAB® a menudo contienen muchos comandos y líneas de texto. Habitualmente se centran los esfuerzos en una sola parte del código a la vez, trabajando con el código y el texto relacionado en partes. Para conseguir una administración y navegación por el documento más sencillas, divida el archivo en secciones. Luego, puede ejecutar el código en una sección individual y navegar entre secciones, según sea necesario.
Dividir el archivo en secciones
Para crear una sección, vaya a la pestaña Editor o Live Editor y, en la sección Section, haga clic en el botón Section Break. También puede introducir dos símbolos de porcentaje (%%
) al inicio de la línea donde desee que empiece la nueva sección. La nueva sección está resaltada con un borde azul, que indica que está seleccionada. Si solo hay una sección en el archivo de código, la sección no está resaltada, puesto que siempre está seleccionada.
En el editor, una sección empieza con dos símbolos de porcentaje (%%
). El texto que aparece en la misma línea que %%
se denomina título de la sección. Incluir títulos de sección es opcional; sin embargo, mejora la legibilidad del archivo y aparece como un encabezado si publica el código.
En Live Editor, una sección puede constar de código, texto y salida. Cuando se crea una sección o se modifica una sección existente, la barra del lado izquierdo de la sección se muestra con rayas verticales. Las rayas indican que la sección está obsoleta. Una sección obsoleta es una sección que aún no se ha ejecutado o que se ha modificado desde la última vez que se ejecutó.
Eliminar secciones
Para eliminar un salto de sección en el editor, elimine los dos símbolos de porcentaje (%%
) al inicio de la sección. Para eliminar un salto de sección en Live Editor, coloque el cursor en el inicio de la línea inmediatamente posterior al salto de sección y pulse Retroceso. De forma alternativa, puede situar el cursor al final de la línea inmediatamente anterior al salto de sección y pulsar Suprimir.
Nota
No se pueden eliminar saltos de sección agregados por MATLAB. Para obtener más información sobre cuándo MATLAB podría agregar un salto de sección, consulte Comportamiento de las secciones en funciones y Comportamiento de secciones en bucles e instrucciones condicionales.
Minimizar el margen de una sección
Para maximizar el espacio disponible para editar código en el editor, puede ocultar los márgenes de Run Section, Run to Here y Code Folding. Esto minimiza el área gris a la izquierda del código. Para ocultar uno o más márgenes, haga clic con el botón secundario en el área gris a la izquierda del código y borre las opciones Show Run Section Margin, Show Run to Here Margin, o Show Code Folding Margin.
Ejecutar secciones
Se puede ejecutar el archivo de código ejecutando cada sección de forma individual o ejecutando todo el código en el archivo a la vez. Para ejecutar una sección de forma individual, debe contener todos los valores requeridos o los valores deben estar presentes en el espacio de trabajo de MATLAB. Cuando se ejecutan secciones individuales, MATLAB no guarda el archivo, y el archivo no tiene que estar en la ruta de búsqueda.
En esta tabla se describen distintas formas de ejecutar el código.
Operación | Instrucciones |
---|---|
Ejecutar todo el código del archivo. | En la pestaña Editor o Live Editor, en la sección Run, haga clic en Run. |
Ejecutar el código en la sección seleccionada. | En la pestaña Editor o Live Editor, en la sección Section, haga clic en Run Section. En Live Editor, también puede hacer clic en la barra azul situada a la izquierda de la sección. |
Ejecutar el código en la sección seleccionada y, después, pasar a la siguiente sección. | En la pestaña Editor o Live Editor, en la sección Section, seleccione Run and Advance. |
Ejecutar el código en la sección seleccionada y, después, ejecutar todo el código posterior a la sección seleccionada. | En la pestaña Editor o Live Editor, en la sección Section, seleccione Run to End. |
Ejecutar hasta una línea concreta de código y hacer una pausa. | Haga clic en el botón Run to Here situado a la izquierda de la línea. Si no se puede llegar a la línea seleccionada, MATLAB continúa ejecutándose hasta llegar al final del archivo o hasta encontrar un punto de interrupción. En el editor, el botón Run to Here está disponible solamente para código que haya sido guardado. En Live Editor, el botón Run to Here está disponible para todo el código, haya sido guardado o no. En funciones y clases, el botón Run to Here solo está disponible cuando la evaluación está detenida. Para obtener más información, consulte Depurar archivos de código de MATLAB. |
Incrementar valores en secciones
Desde R2023a
En el editor, puede incrementar, disminuir, multiplicar o dividir valores numéricos dentro de una sección, volviendo a ejecutar esa sección tras cada cambio. Este flujo de trabajo puede ayudar a optimizar el código y experimentar con él.
Para ajustar un valor numérico, seleccione el valor o coloque el cursor junto al valor. Después, haga clic con el botón secundario y seleccione Increment Value and Run Section. En el cuadro de diálogo que aparece, especifique un valor de paso para adición y sustracción o un valor de escala para multiplicación y división. Después, haga clic en uno de los botones de operador para sumar, restar, multiplicar o dividir el valor seleccionado en la sección. MATLAB ejecuta la sección después de cada clic.
En Live Editor, puede usar controles para incrementar y disminuir un valor numérico dentro de una sección. Por ejemplo, este código calcula el factorial de la variable x.
x = 5; y = factorial(x)
y = 120
5
con un control deslizante numérico. De forma predeterminada, MATLAB vuelve a ejecutar la sección actual cuando el valor del control deslizante cambia.Para obtener más información, consulte Add Interactive Controls to a Live Script.
Navegar entre secciones
Se puede navegar entre secciones en un archivo sin ejecutar el código dentro de esas secciones. Esta navegación facilita el salto rápido de una sección a otra dentro de un archivo. Podría navegar de esta forma, por ejemplo, para encontrar código específico en un archivo grande.
Operación | Instrucciones |
---|---|
Desplazarse a una sección concreta | En la pestaña Editor o Live Editor, en la sección Navigate, haga clic en Go To . Luego, en la sección Sections, seleccione entre las opciones disponibles. |
Desplazarse a la sección anterior | En la pestaña Editor o Live Editor, en la sección Navigate, haga clic en Go To y, luego, haga clic en Previous Section. De forma alternativa, puede utilizar el atajo de teclado Ctrl+Arriba. |
Desplazarse a la siguiente sección | En la pestaña Editor o Live Editor, en la sección Navigate, haga clic en Go To y, luego, haga clic en Next Section. De forma alternativa, puede utilizar el atajo de teclado Ctrl+Abajo. |
Comportamiento de las secciones en funciones
En el editor, si se agrega un salto de sección dentro de una función, MATLAB inserta saltos de sección en la declaración de la función y en la instrucción final de la función. Si no se finaliza la función con una instrucción end
, MATLAB se comporta como si el final de la función se produjera inmediatamente antes del inicio de la siguiente función.
En Live Editor no pueden agregarse saltos de sección dentro de una función. No se admiten secciones dentro de funciones locales. Si añade funciones locales a un script en vivo, MATLAB agrega un salto de sección antes de la primera definición de función local y elimina todos los saltos de sección posteriores. Cuando se ejecutan secciones individuales en un script en vivo, solo pueden ejecutarse las secciones que anteceden a las definiciones de las funciones locales.
Comportamiento de secciones en bucles e instrucciones condicionales
En el editor, si agrega un salto de sección dentro de un bucle o instrucción condicional (como una instrucción if
o un bucle for
), MATLAB agrega saltos de sección en las líneas que contienen el inicio y fin de la instrucción (si esas líneas no contienen ya un salto de sección). Las secciones dentro del bucle o instrucción condicional son independientes de las secciones del código restante y se anidan dentro de las secciones del código restante. Las secciones dentro de un bucle anidado o de instrucciones condicionales también se anidan.
Por ejemplo, este código asigna previamente un vector de 10 elementos y, a continuación, calcula nueve valores. Si un valor calculado es par, MATLAB le suma uno.
x = ones(1,10); for n = 2:10 x(n) = 2 * x(n - 1); if rem(x(n), 2) == 0 x(n) = x(n) + 1; end end
Si se agrega un salto de sección en la línea 3, dentro del bucle for
, MATLAB agrega un salto de sección en la línea 9, la instrucción final para el bucle for
. Si se agrega un salto de sección en la línea 6, dentro de la instrucción if
, MATLAB agrega un salto de sección en la línea 8, la instrucción final para la instrucción if
, conduciendo a tres niveles de secciones anidadas.
En el nivel más externo de anidamiento, una sección abarca todo el archivo.
En el segundo nivel de anidamiento, existe una sección dentro del bucle
for
.En el tercer nivel de anidamiento, existe una sección dentro de la instrucción
if
.