本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

将交互式控件添加到实时脚本

您可以将滑块、下拉列表、复选框、编辑字段和按钮添加到实时脚本,以交互方式控制变量值。当您要与其他人共享脚本时,将交互式控件添加到脚本中非常有用。通过交互式控件,可使用熟悉的用户界面组件设置和更改实时脚本中变量的值。

插入控件

要将控件插入实时脚本中,请转至实时编辑器选项卡,在代码部分中,点击控件。然后,从可用选项中进行选择。要用一个控件替换现有值,请选择该值,然后插入该控件。控件菜单仅显示对所选值可用的选项。

要配置现有控件,请右键点击该控件,然后选择配置控件。按 TabEnter 键,或在控件配置菜单外部点击以返回实时脚本。

控件说明配置详细信息

数值滑块

使用数值滑块,可以通过将滑块移至所需的数值,以交互方式更改变量的值。

滑块左侧的值是其当前值。

部分中,指定最小值最大值步长值。

下拉列表

使用下拉列表,可以通过从值列表中进行选择,以交互方式更改变量的值。

将鼠标悬停在下拉列表中显示的文本上可查看其当前值。

项目部分的项目标签字段中,指定要为下拉列表中的每个项显示的文本。

项目值字段中,为下拉列表行中的每个项指定值。确保将文本值用单引号或双引号括起来,因为实时编辑器将列表中的每个项解释为代码。

复选框

使用复选框以交互方式将变量值设置为逻辑值 1 (true) 或逻辑值 0 (false)。

复选框的显示状态(选中或未选中)决定其当前值。

不适用

编辑字段

使用编辑字段以交互方式将变量值设置为指定类型的输入。

编辑字段中显示的文本和选定的数据类型决定其当前值。

类型部分的数据类型字段中,从可用选项中进行选择,以指定编辑字段中文本的数据类型。

按钮

使用按钮控件,通过点击按钮以交互方式运行代码。

使用按钮控件时,可以考虑将实时脚本中所有其他控件的运行字段设置为。这样,代码仅在用户点击按钮控件时运行。当实时脚本要求在运行代码之前设置多个控件值时,这会很有用。

要更改按钮上显示的标签,请在标签部分中输入标签名称。

标签

要指定在隐藏代码时要显示在控件旁边的标签,请在标签部分中输入标签名称。这也是所有视图中按钮控件上显示的文本。

要隐藏代码并仅显示带标签的控件、输出和格式化文本,请点击实时脚本右侧的隐藏代码 按钮。您也可以转至视图选项卡,在视图部分中,点击 隐藏代码。要再次显示代码,请点击输出内嵌 按钮或右侧的 按钮上的输出。

执行

默认情况下,当控件的值发生变化时,实时编辑器会运行当前节中的代码。要配置此行为,请在控件配置菜单的执行部分指定以下字段:

  • 运行位置(仅滑块控件)- 选择正在更改的值以在滑块值更改时运行代码。选择已经更改的值,等待滑块值更改完成(用户释放了滑块)。

  • 运行 - 从可用选项中进行选择,以确定控件值发生变化时运行的代码。例如,如果选择当前节,则当控件值发生更改时将仅运行包含该控件的代码节。如果选择从当前节到结束,则将运行包含控件的节以及随后的所有节。

    提示

    在实时脚本中使用按钮控件时,可以考虑将实时脚本中所有其他控件的运行字段设置为。这样,代码仅在用户点击按钮控件时运行。当实时脚本要求在运行代码之前设置多个控件值时,这会很有用。

使用多个交互式控件创建实时脚本

以下示例说明如何使用交互式控件在 MATLAB® 中可视化患者数据并对这些数据进行研究。此示例绘制男性或女性患者的身高与体重对照图,并突出显示具有指定身高和体重的患者。

使用交互式控件指定要绘制的患者的性别以及阈值身高和体重。要查看控件并与之交互,请在浏览器或 MATLAB 中打开此示例。

load patients

thresholdHeight = 68; % Slider with min=60, max=70, step=1
thresholdWeight = 132; % Slider with min=111, max=202, step=1
selectedGender = "Female"; % Drop down with options "Male", "Female"

overThresholdWeights = Weight(Gender==selectedGender & Weight>=thresholdWeight & Height>=thresholdHeight);
overThresholdHeights = Height(Gender==selectedGender & Weight>=thresholdWeight & Height>=thresholdHeight);

sp1 = scatter(Height(Gender==selectedGender),Weight(Gender==selectedGender),'blue');
hold on

sp2 = scatter(overThresholdHeights, overThresholdWeights,'red');
hold off

title('Height vs. Weight of ' + selectedGender + ' Patients')

legendText = sprintf('Patients over %d inches and %d pounds.',thresholdHeight,thresholdWeight);
legend(sp2,legendText,'Location','southoutside')

共享实时脚本

实时脚本完成后,可与其他人共享。用户可以在 MATLAB® 中打开实时脚本,并以交互方式使用控件来进行实验。

如果您将实时脚本本身作为交互式文档共享,请考虑在共享实时脚本之前隐藏其中的代码。隐藏代码后,实时编辑器仅显示带标签的控件、输出和格式化文本。要隐藏代码,请点击实时脚本右侧的隐藏代码 按钮。您也可以转至视图选项卡,在视图部分中,点击 隐藏代码

如果您将实时脚本作为静态 PDF、Microsoft® Word、HTML 或 LaTeX 文档共享,则实时编辑器会将控件保存为代码。例如,在此处显示的实时脚本中,实时编辑器用滑块的当前值(68 和 132)替换滑块控件,并用下拉列表的当前值 ("Female") 替换下拉列表控件。

相关主题