Секции кода

Деление файла на секции кода

Файлы MATLAB® часто состоят из многих команд. Вы обычно фокусируете усилия на одной части вашей программы за один раз, работающий с кодом во фрагментах. Точно так же при объяснении файлов другим, часто вы описываете свою программу во фрагментах. Чтобы упростить эти процессы, используйте секции кода, также известные как ячейки кода или режим ячейки. Секция кода содержит непрерывные строки кода, которые вы хотите оценить как группа в скрипте MATLAB, начиная с двух символов комментария (%%).

Чтобы задать контуры секции кода явным образом, вставьте разрывы раздела с помощью этих методов:

  • На вкладке Editor, в разделе Edit, в группе кнопок Insert, нажатии кнопки.

  • Введите два знака процента (%%) в начале строки, где вы хотите начать новую секцию кода.

Текст на той же строке как %% называется заголовком раздела. Включая раздел заголовки является дополнительным, однако, он улучшает удобочитаемость файла и появляется как заголовок, если вы публикуете свой код.

Оценка секций кода

Когда вы разрабатываете файл MATLAB, можно использовать функции раздела Editor, чтобы оценить раздел файла разделом. Этот метод помогает вам экспериментировать с и подстроить свою программу. Можно перейти среди разделов и оценить каждый раздел индивидуально. Чтобы оценить раздел, это должно содержать все значения, которых требуется, или значения должны существовать в рабочем пространстве MATLAB.

Функции оценки раздела запускают код раздела, в настоящее время подсвеченный в желтом. MATLAB автоматически не сохранил ваш файл при оценке отдельных секций кода. Файл не должен быть на вашем пути поиска файлов.

Эта таблица предоставляет инструкции относительно оценки секций кода.

ОперацияИнструкции
Запустите код в текущем разделе.
  • Установите курсор в секцию кода.

  • На вкладке Editor, в разделе Run, нажимают Run Section.

Запустите код в текущем разделе, и затем переместитесь в следующий раздел.
  • Установите курсор в секцию кода.

  • На вкладке Editor, в разделе Run, нажимают Run and Advance.

Запустите весь код в файле.
  • Введите сохраненное имя скрипта в Командном окне.

  • На вкладке Editor, в разделе Run, нажимают Run.

Инкрементные значения в секциях кода

Можно постепенно увеличить числа в разделе, повторно выполнив тот раздел после каждого изменения. Это помогает вам подстроить и экспериментировать со своим кодом.

Постепенно увеличить или постепенно уменьшить номер в разделе:

  1. Подсветите или установите свой курсор рядом с номером.

  2. Щелкните правой кнопкой, чтобы открыть контекстное меню.

  3. Выберите Increment Value and Run Section. Появляется маленькое диалоговое окно.

  4. Введите соответствующие значения в / текстовое поле или / текстовое поле.

  5. Щелкните, или кнопка, чтобы добавить к, вычесть из, умножиться или разделить выбранный номер на ваш раздел.

    MATLAB запускает раздел после каждого нажатия кнопки.

Примечание

Программное обеспечение MATLAB автоматически не сохраняет изменения, которые вы вносите в числа в своем скрипте.

Навигация среди секций кода в файле

Можно перейти среди разделов в файле, не оценивая код в тех разделах. Это упрощает переход быстро от раздела до раздела в файле. Вы можете сделать это, например, чтобы найти определенный код в большом файле.

ОперацияИнструкции
Переместитесь в следующий раздел.
  • На вкладке Editor, в разделе Run, нажимают Advance.

Переместитесь в предыдущий раздел.
  • Нажмите Ctrl + Стрелка вверх.

Переместитесь в определенный раздел.
  • На вкладке Editor, в разделе Navigate, используют Go To, чтобы переместить курсор в выбранный раздел.

Пример оценки секций кода

Этот пример задает две секции кода в файле под названием sine_wave.m и затем постепенно увеличивает параметр, чтобы настроить созданный график. Чтобы открыть этот файл в вашем Редакторе, запустите следующую команду, и затем сохраните файл к локальной папке:

edit(fullfile(matlabroot,'help','techdoc','matlab_env',...
'examples','sine_wave.m'))

После того, как файл открыт в вашем Редакторе:

  1. Вставьте разрыв раздела и следующий заголовок на первой строке файла.

     %% Calculate and Plot Sine Wave
    

  2. Вставьте пустую строку и второй разрыв раздела после plot(x,y). Добавьте заголовок раздела, Modify Plot Properties, так, чтобы целый файл содержал этот код:

    %% Calculate and Plot Sine Wave
    % Define the range for x.
    % Calculate and plot y = sin(x).
    x = 0:1:6*pi;
    y = sin(x);
    plot(x,y)
    
    %% Modify Plot Properties
    title('Sine Wave')
    xlabel('x')
    ylabel('sin(x)')
    fig = gcf;
    fig.MenuBar = 'none';

  3. Сохраните файл.

  4. Установите свой курсор в раздел, названный Calculate and Plot Sine Wave. На вкладке Editor, в разделе Run, нажимают Run Section.

    Фигура, отображающая график курса sin(x), появляется.

  5. Сглаживайте график синуса.

    1. Подсветите 1 в операторе: x = 0:1:6*pi; .

    2. Щелкните правой кнопкой и выберите Increment Value and Run Section. Появляется маленькое диалоговое окно.

    3. Введите 2 / текстовое поле.

    4. Нажимайте кнопку несколько раз.

      График синуса становится более сглаженным после каждого последующего нажатия кнопки.

    5. Закройте фигуру и сохраните файл.

  6. Запустите целый файл sine_wave.m. Сглаженный график синуса с заголовками появляется в новой фигуре.

Изменение внешнего вида секций кода

Можно измениться, как секции кода появляются в редакторе MATLAB. MATLAB подсвечивает секции кода желтого цвета, по умолчанию, и делит их с горизонтальными строками. Когда курсор расположен в любую строку в разделе, Редактор подсвечивает целый раздел.

Чтобы измениться, как появляются секции кода:

  1. На вкладке «Главная страница (Home)» в разделе «Конфигурация (Environment)» нажмите «Настройки (Preferences)».

    Диалоговое окно Preference появляется.

  2. На левой панели выберите MATLAB> Colors> Programming Tools.

  3. Под Section display options выберите внешний вид своих секций кода.

    Можно выбрать, подсветить ли разделы, цвет выделения, и появляются ли разделительные линии между секциями кода.

Используйте секции кода с, проверяют утверждения и функции

Неожиданные результаты могут появиться при использовании секций кода в, проверяют утверждения и функции, потому что MATLAB автоматически вставляет разрывы раздела, которые не появляются в Редакторе, если вы не вставляете разрывы раздела явным образом. Это особенно верно, когда вложенный код включен. Вложенный код происходит везде, куда вы помещаете оператор управления, или функция в рамках другого проверяют утверждение или функцию.

MATLAB автоматически задает контуры раздела в блоке кода, согласно этому критерии:

  • MATLAB вставляет разрыв раздела вверху и внизу файла, создавая секцию кода, которая охватывает целый файл. Однако Редактор не подсвечивает получившийся раздел, который заключает целый файл, если вы не добавляете одну или несколько явных секций кода в файл.

  • Если вы задаете разрыв раздела в операторе управления (таком как оператор if или while), MATLAB автоматически вставляет разрывы раздела в строках, содержащих запуск и конец оператора.

  • Если вы задаете разрыв раздела в функции, MATLAB вставляет разрывы раздела в объявлении функции и в функциональном операторе end. Если вы не заканчиваете функцию оператором end, MATLAB ведет себя, как будто конец функции сразу происходит перед запуском следующей функции.

Если автоматический пропуск происходит на той же строке как пропуск, вы вставляете, они выходят из строя в один разрыв раздела.

Вложенные пропуски секции кода

Следующий код иллюстрирует концепцию вложенных секций кода:

t = 0:.1:pi*4;
y = sin(t);

for k = 3:2:9
    %%
    y = y + sin(k*t)/k;
    if ~mod(k,3)
        %%
        display(sprintf('When k = %.1f',k));
        plot(t,y)
    end
end
Если вы копируете и вставляете этот код в редактора MATLAB, вы видите, что эти два разрыва раздела создают три вложенных уровня:

  • На наиболее удаленном уровне вложения один раздел охватывает целый файл.

    MATLAB только задает раздел в блоке кода, если вы задаете разрывы раздела на том же уровне в блоке кода. Поэтому MATLAB полагает, что курсор в разделе, который охватывает целый файл.

  • На втором уровне вложения раздел существует в цикле for.

  • При дважды косвенном из вложения один раздел существует в операторе if.

Похожие темы