Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Crear y ejecutar secciones en código

Desde R2021b

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.

File open in the Editor showing two sections. The second section has a blue border around it indicating that it is the selected section.

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.

File open in the Editor showing two percent signs on line eight and a blue border above line eight indicating the start of the section

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ó.

File open in the Live Editor showing a blank code line on line eight and a blue border above line eight indicating the start of the section

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ónInstrucciones
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.

Section in the Live Editor showing a blue bar to the left of the section.

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.

Increment Value and Run Section dialog box with the step value for addition and subtraction set to 1 and the scale value for multiplication and division set to 1.1

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
Para cambiar de forma interactiva el valor de x, en un script en vivo, reemplace el valor 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.

Code that calculates the factorial of x. The value of x is replaced with a numeric slider with a minimum value of 0, a maximum value of 10, and an actual value of 5.

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ónInstrucciones
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.

    File open in the Editor with the selected section spanning the entire file, and section breaks at line three, six, eight, and nine

  • En el segundo nivel de anidamiento, existe una sección dentro del bucle for.

    File open in the Editor with the selected section spanning from line three to line nine, and section breaks at line six and eight

  • En el tercer nivel de anidamiento, existe una sección dentro de la instrucción if.

    File open in the Editor with the selected section spanning from line six to line eight, and section breaks at line three and nine

Temas relacionados