Simulink:进口样条插值?
Simulink: Spline interpolation on Inports?
我有一个 Simulink 仿真,它在 Inport 上获取控制输入 U,并根据该输入仿真系统状态。我希望模拟使用可变时间步长 ode 求解器,但 U 将被定义为离散时间点(不是均匀分布的),这些时间点肯定不会与生成的时间对齐(比如) ode15s.
我希望 Simulink 获取 U 向量和时间向量,并使用三次样条插值来确定与给定 U 向量不对齐的时间的 U 值——类似于 'Interpolate Data' Inport 首选项中的选项,但我的数据既不是均匀分布的,也不需要线性插值。我该怎么做?
实现此目的的可能方法如下。我假设 U 向量是事先已知的。这暗示了矢量值是在与求解器样本矩不匹配的随机样本矩处给出的。
采用“一维插值 table”块并连接一个 'Clock' 块作为输入。在一维插值 table 中,您可以在您的情况下指定 'Table data' U 向量的值。并且您可以指定在您的情况下为时间点的断点。这些可以是您工作区中的变量。
然后在 tabled 'Algorithm' 下选择 'Cubic spline' 作为插值方法。
这应该可以解决问题。
我有一个 Simulink 仿真,它在 Inport 上获取控制输入 U,并根据该输入仿真系统状态。我希望模拟使用可变时间步长 ode 求解器,但 U 将被定义为离散时间点(不是均匀分布的),这些时间点肯定不会与生成的时间对齐(比如) ode15s.
我希望 Simulink 获取 U 向量和时间向量,并使用三次样条插值来确定与给定 U 向量不对齐的时间的 U 值——类似于 'Interpolate Data' Inport 首选项中的选项,但我的数据既不是均匀分布的,也不需要线性插值。我该怎么做?
实现此目的的可能方法如下。我假设 U 向量是事先已知的。这暗示了矢量值是在与求解器样本矩不匹配的随机样本矩处给出的。
采用“一维插值 table”块并连接一个 'Clock' 块作为输入。在一维插值 table 中,您可以在您的情况下指定 'Table data' U 向量的值。并且您可以指定在您的情况下为时间点的断点。这些可以是您工作区中的变量。
然后在 tabled 'Algorithm' 下选择 'Cubic spline' 作为插值方法。
这应该可以解决问题。