当函数调用排序足够简单,可以指定为模型输入时,使用输入矩阵进行模拟是测试输出函数模型的首选方法。
创建指定函数调用时间的时间向量。
创建一个矩阵,将输入数据添加到时间向量中。
模拟运行。
要在本例中创建模型,请参见创建一个出口-功能模型.
为根级函数调用创建指示何时发生事件的时间向量轮廓尺寸根级数据的块和数据向量轮廓尺寸块。
对函数调用轮廓尺寸块1
和2
,创建时间步长为的列向量0.1
和0.01
.在MATLAB®命令窗口中,输入
t1 = [0:0.1:10] ';t2 = [0:0.01:10] ';
时间向量必须是单调递增的且为双数据类型。
如果函数调用的示例时间轮廓尺寸块指定时,对应时间向量中的值必须全部为指定值的整数倍。
要在给定的时间步骤中指定多个函数调用,请相应地重复时间值。例如,要指定在t = 0.1处的3个事件和在t = 0.5处的2个事件,在时间向量中列出0.1次和0.5两次,T1 = [0.1 0.1 0.1 0.5 0.5]'
.
若要使用非周期性采样时间,请设置轮廓尺寸块样品时间来-1
并提供一个非均匀时间向量,例如。T1 = [0, 0.1, 0.2, 0.4, 0.8]
.
创建一个带有时间步长和数据值的矩阵轮廓尺寸块3.
.
sine_data =罪(0:0.01:10)';d3 = (t2, sine_data);
数据输入可以使用任何支持的格式,如金宝app输入数据的形式.
下表提供了指定时间向量的附加信息t
.
样品时间类型为内部触发端口块设置为: | 根级函数调用轮廓尺寸继承的样本时间块(-1) |
根级函数调用轮廓尺寸具有离散采样时间的块 |
---|---|---|
|
不减少的列向量。 函数调用子系统按照列向量指定的时间执行。采样时间可以是周期性的,也可以是非周期性的。 如果你指定一个空矩阵( |
不减少的列向量。属性指定的样本时间的整数倍,列向量中的每个元素必须是轮廓尺寸块。 函数调用子系统按照列向量指定的时间执行。 或者,指定一个空矩阵( |
|
配置不允许 |
空矩阵( 方法指定的时间执行函数调用子系统轮廓尺寸块调用它。 |
在生成代码之前,模拟导出函数模型来测试和观察它的行为。
从MATLAB工作空间导入时间和数据。
在建模选项卡上,选择模型设置.在“配置参数”对话框中选择数据导入/导出窗格并设置输入参数t1, t2, d3
.
t1
和t2
列向量是否包含函数调用的事件时间轮廓尺寸块1
和2
.d3
是数据的输入值与时间的表格吗轮廓尺寸块3.
.
模拟运行。
阴谋的结果。在MATLAB命令窗口中,输入。
(你的阴谋。time, yout.signals(1).values) hold plot(yout.time, yout.signals(2).values)
改变t1
提供事件0.5
秒(0.5
的采样时间的整数倍0.1
中指定的轮廓尺寸块1
).
t1 = [0:0.5:10] ';
重新运行模拟。
在测试模型之后,可以为函数生成代码。看到为导出-功能模型生成代码.