创建和编辑信号数据
使用信号编辑器可创建和编辑输入信号并组织它们以用于多个仿真。您随后可以将信号数据保存到 MAT 文件以进行仿真或映射到根级端口。默认情况下,信号编辑器以 timeseries
格式创建信号数据。您可以通过以下方式访问信号编辑器:
signalEditor
函数 -信号编辑器从命令行启动。从根输入端口映射器 - 要为新信号数据创建 MAT 文件,请选择信号 > 新建 MAT 文件。要链入现有场景中的现有信号数据文件并编辑该文件中的信号,请使用信号 > 编辑 MAT 文件。
从 Signal Editor 模块
信号编辑器仅适用于 MAT 文件。
您可以通过下列方式来操作信号:
创建和编辑多个数据集的多个信号。默认情况下,信号编辑器会创建
timeseries
格式的数据。使用信号符号通过 MATLAB® 表达式创建更复杂的信号。您可以使用创建和插入对话框,或在表格区域中手动输入简单的 MATLAB 表达式。
使用现有场景获取现有数据集以便对其编辑和创建信号。
创建和编辑多维信号。
编辑作为注册的自定义文件类型导入的信号。有关详细信息,请参阅Import Custom File Type。
在编辑信号数据时:
使用表格编辑或 MATLAB 修改信号数据。
使用鼠标或多点触控编辑以图形方式修改信号数据。
修改信号属性,例如名称、插值和单位属性。
拖放信号以更改总线和数据集的信号层次结构。
使用信号符号和变量来替换信号数据。
您也可以从外部源导入数据并在信号编辑器中编辑它们。有关详细信息,请参阅Link in Signal Data from Signal Builder Block and Simulink Design Verifier Environment。
要以图形方式创建和编辑信号数据,请参阅Create Freehand Signal Data Using Mouse or Multi-Touch Gestures。
根输入端口映射器信号编辑器与其他信号编辑器之间的差异
通常,无论您如何访问信号编辑器,其用户界面都是相同的。以下是根输入端口映射器信号编辑器的不同之处:
“文件”部分的保存并同步和保存命令保存并同步到根输入端口映射器。
插入部分的场景命令始终具有来自模型的场景选项。
如果使用模型名称来启动 signalEditor
函数,信号编辑器用户界面将在插入部分中显示来自模型的场景选项。
表编辑数据支持
信号编辑器用户界面支持 Simulink® 支持的和可编辑的所有信号数据类型。
鼠标、键盘和触摸屏快捷方式
编辑操作:
操作 | 键盘 | 鼠标 | 多点触控 |
---|---|---|---|
插入点 | Ctrl+P | 点击 | 点击 |
插入行 | Ctrl+L | 点击 | 平移和捏合手指 |
绘制 | Ctrl+D | 点击和绘制 | 平移 |
选择点 | Ctrl+T | 点击 要选择所有区域,请双击 | 平移和捏合手指 要选择所有区域,请双击 |
移动点 | Ctrl+M | 点击 | 点击并移动 |
更改点数据 | 点击 | ||
连续删除线上的点 | 点击 | ||
点击鼠标三次 | 点击三次 | ||
沿 x 轴展开 | Ctrl+鼠标平移 | 对 x 轴进行 PRY 操作 | |
沿 y 轴展开 | Shift+鼠标平移 | 对 y 轴进行 PRY 操作 |
缩放操作:
缩放或平移的类型 | 要点击的按钮 |
---|---|
沿 T 和 Y 轴放大。 | ![]() |
沿时间轴放大。选择图标后,在图上拖动鼠标以选择要放大的区域。 | ![]() |
沿数据值轴放大。选择图标后,在图上拖动鼠标以选择要放大的区域。 | ![]() |
在放大 xy 时仅放大 x。 | 在按下 Ctrl 的同时放大 xy |
在放大 xy 时仅放大 y。 | 在按下 Shift 的同时放大 xy |
缩小绘图。 | ![]() |
使绘图适合图形。选择图标后,点击图窗以放大绘图,使之填满图窗。 | ![]() |
向上、向下、向左或向右平移图。选择图标。在图上按住鼠标左键,并将鼠标移至要查看的图区域。 | ![]() |
更改信号名称和层次结构顺序
在场景和信号部分中,您可以更改信号名称和层次结构顺序、创建信号副本以及删除信号。Simulink 会忽略信号名称中的前导和尾部空白。
要更改信号名称,请双击该名称并进行更改。
要更改信号的单位或插值,请点击加号,然后点击单位或插值复选框。
窗格随即更新,增加单位和插值列。
在单位列中,输入适当的单位表达式。有关建议的单位表达式列表,请参阅允许的单位。
在插值列中,从下拉列表中选择“
线性
”或“零阶保持
”。注意
插值仅影响信号编辑器用户界面中的信号绘制。
要更改层次结构中信号的顺序,请拖放该信号。例如,您可以将信号拖放到总线中。
或者,使用调整部分中的上移和下移按钮。
要复制信号并将其粘贴到原始信号下,请右键点击信号并选择复制信号。
或者,使用调整部分中的生成副本按钮。您还可以调整所复制信号的默认属性。有关详细信息,请参阅创建具有相同属性的信号。
要复制信号并将其粘贴到层次结构中的其他位置,请选择复制,然后选择粘贴。
创建具有相同属性的信号
要创建具有相同预定义类型的信号,请使用调整部分中的生成副本按钮。要更改预定义信号类型,请点击默认值图标 。系统随即显示插入的默认属性对话框。
信号选项卡:
数据类型 - 从下拉列表中选择信号数据类型。
枚举 - 选择“
枚举
”数据类型时,将显示此参数。输入枚举的类名称。如果多次定义一个包含相同整数值的枚举类,例如:
classdef(Enumeration) hEnumColors_duplicateValues < Simulink.IntEnumType enumeration Red(118) Yellow(-14) Blue(90) Green(87) White(-14) Black(198) Brown(90) Pink(118) Purple(90) end methods (Static = true) function retVal = getDefaultValue() retVal = hEnumColors_duplicateValues.Blue; end end end
则信号编辑器会将第一个枚举值 (
Red (118)
) 视为标准值,并将同一基础整数118
的所有后续实例视为等同于枚举名称Red
。换言之:Pink
等于Red
。插值 - 从下拉列表中选择“
线性
”或“零阶保持
”。单位 - 输入适当的单位表达式。有关建议的单位表达式列表,请参阅允许的单位。
维度 - 输入信号的维数。
信号类型 - 从列表中选择“
实部
”或“复数
”。变量类型 - 从下拉列表中,选择 “
Timeseries
”(默认值)、“Timetable
”、“Logged timeseries
”、“Logged timetable
”。Logged
timeseries
和 Loggedtimetables
对象是Simulink.SimulationData.Signal
对象,其Value
属性的数据类型为timeseries
或timetable
。
总线选项卡:
总线对象 - 从下拉列表中,选择要为其定义维度的总线对象。如果将总线对象参数保留为默认
<object name>
,则信号编辑器会添加空总线。维度 - 输入总线对象的维数。
常量选项卡:
值 - 输入要输出的常量值。
时间 - 输入采样时间。
阶跃选项卡:
初始值 - 输入阶跃之前的输出值。
最终值 - 输入阶跃之后的输出值。
开始时间 - 输入阶跃发生的时间。
阶跃时间 - 输入阶跃持续的时间。
阶跃最终值时间 - 输入最终阶跃时间。
脉冲选项卡:
初始值 - 输入信号的初始默认值。
触发值 - 输入脉冲触发时的信号值。
脉冲持续时间 - 输入脉冲的时间长度。
阶跃时间 - 输入阶跃持续的时间。
触发时间 - 输入脉冲触发发生的时间。
添加和编辑多维信号
要添加多维信号,请使用以下任一选项:
在“插入的默认属性”对话框中更改维度属性,然后使用插入 > 空白信号插入新空白信号。对于多维空白信号,请输入大于 1 的维度。
在“创建和插入”对话框的数据参数中输入多维信号数据,例如
[(1:10)' (1:10)']
。
点击信号的绘图/编辑复选框时,表格区域将显示信号及其每个维度的列。您可以在表格区域中单独编辑数据,或点击替换按钮 以使用 MATLAB 表达式替换信号。使用“创建和替换信号数据”对话框替换信号数据的过程与使用“创建和插入”对话框插入新表达式一样。有关详细信息,请参阅Create Signals with MATLAB Expressions and Variables。
提示
替换信号时,新信号的信号维度和复/实性必须与被替换的信号相同。
例如,要创建具有两列且时间从 1 到 10 的信号数据,请执行下列操作:
在信号编辑器中,选择信号 > 创建信号。
输入具有两列且时间从 1 到 10 的信号数据:
时间 -
[1:10]
数据
[(1:10)' (1:10)']
点击插入信号。
层次结构将用新信号数据进行更新。
展开新信号,然后点击新信号数据的绘图/编辑复选框。随即可以看到与信号关联的图和表格数据。
提示
如果数据未按预期绘制,请使用缩放和平移部分中的适应窗口大小按钮。对于多维信号,还需要确保为所编辑的列数据选择了正确的绘图。
您可以直接在表中编辑数据。
您也可以通过点击替换按钮并在“创建和替换信号数据”对话框中输入新时间范围和数据,用新表达式完全替换数据。
处理信号中的数据
此示例说明如何为链接场景中的信号添加和删除数据。要创建要使用的模型和数据,请参阅Add Signals to Scenarios。
在信号编辑器的场景和信号部分中,点击信号
ts
的绘图复选框。将一些数据添加到信号
ts
。点击添加行图标
并添加一些信号。要在其他信号之间添加信号行,请点击位于前面的信号,然后点击添加行图标。
完成后,点击应用。点击应用会更新绘图。
从信号中删除时间为 20 的行。选择
20
,然后点击。
或者,如果要将
ts
的所有信号数据替换为使用信号符号定义的信号,请点击替换按钮并使用“创建和替换信号数据”对话框定义新数据。
使用“与网格对齐”功能绘制斜坡以确保准确度
此示例说明如何通过选择画布中的一些点来创建斜坡信号。
在“信号编辑器”选项卡中,选择信号 > 绘制信号。
要沿水平线和垂直线排列信号数据值,请选择将 X 与网格对齐和将 Y 与网格对齐。
移动和缩放也遵循对齐网格设置。
在画布中,添加三个点:
两个点水平对齐
另一个点放在这两个点的右侧,并与之呈一定角度
在“信号属性”部分,在名称中,将信号名称更改为
Ramp
,然后按 Enter。要将信号添加到信号编辑器,请在插入部分中,点击
。
要返回信号编辑器主窗口并检查信号是否已添加,请点击
。
要在信号编辑器中观察绘制的信号数据,请点击层次结构中
Ramp
信号名称的绘图/编辑复选框。
保存更改并将其发送给根输入端口映射器工具
添加和修改完信号和场景后,使用保存并同步按钮将更改保存到 MAT 文件。信号编辑器还会将数据发送到根输入端口映射器工具:
如果根输入端口映射器工具已加载场景,则根输入端口映射器工具将使用新数据进行更新。
如果根输入端口映射器工具已映射场景且您的更改影响了映射,则根输入端口映射器工具将取消场景的映射。
另请参阅
Signal Editor | signalEditor
| signalBuilderToSignalEditor
| linspace
相关主题
- Create Freehand Signal Data Using Mouse or Multi-Touch Gestures
- Map Root Inport Signal Data
- View and Inspect Signal Data
- Import Signal Data for Root Inport Mapping
- 导出信号组数据
- Map Signal Data to Root Input Ports
- Root Inport Mapping Scenarios
- Create Signal Data for Root Inport Mapping
- Create Custom File Type for Import to Signal Editor