exponenta event banner

Разделы кода

Разделите файл на разделы кода

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

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

  • На вкладке Редактор (Editor) щелкните (или Разрыв сечения (Section Break) в MATLAB Online™).

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

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

Оценить разделы кода

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

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

В этой таблице приведены инструкции по оценке разделов кода.

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

Наведя курсор на раздел кода, на вкладке «Редактор» в разделе «Выполнить» нажмите кнопку «Выполнить раздел».

В MATLAB Online кнопка Run Section находится в разделе Section.

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

Установите курсор в разделе кода на вкладке «Редактор» в разделе «Выполнить » нажмите кнопку «Выполнить» и «Дополнительно».

В MATLAB Online кнопка Run and Advance находится в разделе «Раздел».

Запустите весь код в файле.

На вкладке «Редактор» в разделе «Выполнить» нажмите кнопку «Выполнить ».

Имя сохраненного сценария можно также ввести в окне команд.

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

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

Чтобы увеличить или уменьшить число в разделе, выполните следующие действия.

  1. Выделите или поместите курсор рядом с номером.

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

  3. Выберите Значение приращения (Increment Value) и Сечение прогона (Run Section Появится небольшое диалоговое окно.

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

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

    MATLAB запускает раздел после каждого щелчка.

Примечание

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

Навигация по разделам кода в файле

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

ОперацияИнструкции
Перейдите к следующему разделу.

На вкладке «Редактор» в разделе «Выполнение» нажмите кнопку «Вперед ».

Перейдите к предыдущему разделу.

Нажмите клавиши Ctrl + стрелка вверх.

Переход к определенному разделу.

На вкладке «Редактор» в разделе «Навигация» с помощью кнопки «Перейти к» переместите курсор в выбранный раздел.

В MATLAB Online для навигации по разделам на вкладке «Редактор» в разделе «Навигация» выберите «Перейти к». Затем выберите один из доступных параметров.

Пример анализа разделов кода

В этом примере определяются два раздела кода в файле с именем 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. На вкладке «Редактор» в разделе «Выполнить» выберите «Выполнить раздел». В MATLAB Online кнопка Run Section находится в разделе Section.

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

  5. Сглаживание синусоидального графика.

    1. Основной момент 1 в заявлении: x = 0:1:6*pi; .

    2. Щелкните правой кнопкой мыши и выберите «Приращение значения» и «Сечение участка». Появится небольшое диалоговое окно.

    3. Напечатать 2 в текстовом поле/.

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

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

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

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

Изменение внешнего вида разделов кода

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

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

  1. На вкладке Главная (Home) в разделе Среда (Environment) щелкните Настройки (Preferences).

    Откроется диалоговое окно Настройка (Preference).

  2. На левой панели выберите MATLAB > Цвета > Инструменты программирования.

  3. В разделе Параметры отображения сечения (Section display options) выберите внешний вид разделов кода.

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

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

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

MATLAB автоматически определяет границы сечения в кодовом блоке в соответствии со следующими критериями:

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

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

  • При определении разрыва раздела в функции MATLAB вставляет разрывы раздела в объявлении функции и в операторе конца функции. Если функция не заканчивается 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 заявление.

Связанные темы