文章目录
- Interpolate data
- inport 模块存在于模型最顶层
- Port Dimension 和 Variable-size signal
Interpolate data
Interpolate data:当将 Workspace 的数据导人模型时, 对没有对应数据点的采样时刻进行线性插值的开关选项。
inport 模块存在于模型最顶层
inport 模块也可以存在于模型最顶层, 这时由于没有父层, 不用为父层提供信号接口, 其功能类似一默认输出值为 0 的常数模块.
结合 Configuration Parameter 对话框中的数据导入功能, 还可以预设 inport 模块的输出值。
数据导入需要 inport 模块结合 Configuration Parameter 界面中提供的 Data Import/Export 功能共同实现。Data Import/Export 页面中存 Input 选项, 内容为定义在 Workspace 的数据向量组合 [t, u], t 表示时间的列向量, u 表示对应时间点数据的列向量。定义之后, 可以通过 inport 模块将 u 的数据列导人到模型中来。首先先在 Configuration Parameter 的 Data Import/Export 中开启数据导入功能:
在 Workspace 中定义 t 和 u 的数据:
t=[1: 0.1: 10]';
u=sin(t);
要求 t 和 u 都是列向量。
建立一个 inport 输入直接连接 Scope 示波器的模型,测试效果:
可以看出,1-10 秒是正弦波,1 秒前和10 秒后都是插值(勾选了 Interpolate data)的结果,对未定义的采样时间范围内的值进行线性插值。
线性插值公式为:
A 和 B 为在 Workspace 中给出的点,本例中,间隔为 0.1 秒。当 Simulink 的解算器的采样时间小于 0.1 秒时,就会使用 Interpolate data 功能,得到 (x,y)坐标。处于 A,B 点外部的数据,也可以用这个方法得到。