为输入测试用例加载数据
对于大多数输入测试用例,应最大程度减少时间点数。您加载的信号数据包括具有斜坡和不连续点的样本。
有关导入测试用例的规范
通常,在导入测试用例数据时,应最大程度减少时间点数。测试数据集中在信号数据中的不连续点上。
创建具有斜坡和阶跃的信号。换句话说,信号具有一个或多个不连续点。
使用尽可能少的点创建信号。
让 Simulink® 求解器在指定的不连续点执行。
要将此信号导入 Simulink,请使用 From Workspace、From File 或 Signal Editor 模块,所有这些模块都支持过零检测。
您可以加载以下类型的数据:
Simulink.SimulationData.Dataset
数组
Simulink.SimulationData.Signal
结构体
包含所有输入端口数据的结构体数组(Signal Editor 模块不支持)
空矩阵 - 对要使用接地值的端口使用空矩阵,而不必创建数据值。
时间表达式(Signal Editor 模块不支持)
指定时间向量和信号值,但仅指定输出形状跳变的点处的时间步。有关指定时间向量的详细信息,请参阅指定时间数据。
可以使用输入数据的形式中介绍的任何输入数据格式,但 MATLAB® 时间表达式除外。
测试用例数据示例
下面是一个测试用例数据示例:
以下两个示例使用此测试用例数据。
在测试用例中使用 From Workspace 模块
打开模型
ex_data_import_test_case_from_workspace
。启用过零检测。在 From Workspace 模块对话框中,选择启用过零检测。过零检测功能可以准确地捕获不连续点。
为测试用例创建一个信号结构体。在每个不连续点,在时间向量中输入一个重复条目,它会生成过零点,并强制变步长求解器在此精确时间点执行一个时间步。有关详细信息,请参阅使用 From Workspace 模块加载数据。
定义代表测试用例的
var
结构体:var.time = [0 1 1 5 5 8 8 10]; var.signals.values = [0 0 2 2 2 3 3 3]'; var.signals.dimensions = 1;
要导入测试用例结构体,请在 From Workspace 模块对话框的数据参数中指定
var
。对模型进行仿真。Scope 模块反映了测试用例数据。
对测试用例使用信号编辑器模块
除了使用 From Workspace 模块外,还可以使用 Signal Editor 模块:
以交互方式创建信号
从 MAT 文件中导入信号
用 Signal Editor、Gain 和 Scope 模块创建模型。
创建一个结构体并将其保存在 MAT 文件中:
scenario = Simulink.SimulationData.Dataset; time = [0 1 1 5 5 8 8 10]; data = [0 0 2 2 2 3 3 3]'; scenario{1} = timeseries(data,time); scenario{1}.Name = 'var'; save var.mat scenario
双击 Signal Editor 模块打开 Signal Editor 对话框。
在“文件名”参数中,输入
var.mat
。在激活方案参数中,选择“
方案
”。点击确定。Scope 模块显示画面会反映 MAT 文件中的测试用例数据。