Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

代码节

将您的文件分为多个代码节

MATLAB® 文件通常包含多个命令。您通常一次仅专注于程序中的某个部分,分块操作代码。同样,向其他人解释您的文件时,通常分块介绍您的程序。为帮助介绍这些过程,使用代码节,也称为代码单元或单元模式。代码节包含 MATLAB 脚本中您想要作为一组求值的连续代码行,以两个注释字符 (%%) 开头。

要显式定义代码节界限,使用以下方法插入分节符:

  • 编辑器选项卡上的编辑部分中,点击插入按钮组中的

  • 在您想要开始新的代码节的行首输入两个百分比符号 (%%)。

%% 位于同一行中的文本称为节标题。可以选择是否包含节标题,不过,节标题可提高文件的可读性并在您发布代码时显示为标题。

执行代码节

编写 MATLAB 程序文件时,可以使用“编辑器”部分的功能逐节执行程序文件。该方法有助于您试用和微调您的程序。您可以在各节之间导航并单独执行每节。要执行某节,该节必须包含它需要的所有值,或这些值必须存在于 MATLAB 工作区中。

节执行功能运行当前以黄色高亮显示的代码节。MATLAB 在执行某个代码节时不会自动保存您的文件。文件无需位于您的搜索路径下。

该表提供有关执行代码节的说明。

操作说明
运行当前节中的代码。
  • 将光标置于代码节中。

  • 编辑器选项卡上的运行部分中,点击 运行节

运行当前节中的代码,然后移至下一节。
  • 将光标置于代码节中。

  • 编辑器选项卡中,点击运行部分中的 运行并前进

运行文件中的所有代码。
  • 在命令行窗口中键入已保存脚本的名称。

  • 编辑器选项卡上,点击运行部分中的 运行

递增代码节中的值

您可以逐步递增某节内的数字,在每次更改后重新运行该节。这有助于您微调并试用您的代码。

要逐步递增或递减节内的数字,请执行以下操作:

  1. 高亮显示数字或将光标放在数字旁边。

  2. 右键点击以打开上下文菜单。

  3. 选择递增值和运行节。随即出现一个小型对话框。

  4. / 文本框或 / 文本框中输入合适的值。

  5. 点击 按钮以在节中增加、减去、乘以或除以所选的数值。

    MATLAB 在每次点击后运行该节。

注意

MATLAB 软件不自动保存您对脚本中的数字所做的更改。

在文件中的各代码节之间导航

您可以在文件中的各代码节之间导航,无需执行这些节内的代码。这有助于在文件中的各节之间快速跳转。例如,您可能在大文件中这样做以查找特定代码。

操作说明
移至下一节。
  • 编辑器选项卡上,点击运行部分中的 前进

移至上一节。
  • Ctrl + 向上箭头。

移至特定节。
  • 编辑器选项卡中,使用导航部分中的 转至 ,将光标移至所选节。

执行代码节的示例

本示例定义 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 的节中。在编辑器选项卡上的运行部分中,点击 运行节

    随即出现一个显示 sin(x) 轨迹图的图窗。

  5. 对该正弦图进行平滑处理。

    1. 高亮显示 x = 0:1:6*pi; 语句中的 1

    2. 右键点击并选择递增值和运行节。随即出现一个小型对话框。

    3. / 文本框中键入 2

    4. 点击 按钮多次。

      每次点击后正弦图都会变得更平滑。

    5. 关闭图窗并保存文件。

  6. 运行整个 sine_wave.m 文件。带有标题的平滑正弦图显示在新图窗中。

更改代码节的外观

可以更改代码节如何在 MATLAB 编辑器中显示。MATLAB 默认以黄色高亮显示代码节,并用水平线将它们分开。光标定位在节内的任何行中时,编辑器会高亮显示整个节。

要更改代码节的外观,请执行以下操作:

  1. 主页选项卡的环境部分,点击 预设

    此时将显示“预设项”对话框。

  2. 在左窗格中,选择 MATLAB > 颜色 > 编程工具

  3. 节显示选项下方,选择代码节的外观。

    您可以选择是否高亮显示节、高亮显示的颜色以及代码节之间是否显示分界线。

同时使用代码节与控制语句和函数

在控制语句和函数内使用代码节时会产生意外结果,因为 MATLAB 自动插入编辑器中未显示的分节符,除非显式插入分节符。涉及嵌套代码时尤其如此。在控制语句或函数的范围内放置另一个控制语句或函数时产生嵌套代码。

MATLAB 根据以下条件自动定义代码块中的节界限:

  • MATLAB 在文件顶端和底端插入分节符,创建包含整个文件的代码节。但是,编辑器不会高亮显示包含整个文件的生成节,除非您将一个或多个显式代码节添加到文件中。

  • 如果您定义控制流语句(例如 ifwhile 语句)内的分节符,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 语句内。

相关主题