如何使用 S-Function 在 Simulink 中传递矩阵
How to pass a Matrix in Simulink using S-Function
我用 MATLAB 写了一个 S-Function。现在我想通过 'simin' 源将矩阵传递到输入中。我已经初始化了 simin 变量的时间
simin.time = 0
并且这些值存储在一个动态大小的矩阵中。例如 simin.signals.values = ones(4)
。
现在 MATLAB 告诉我 'time and data values must have the same number of rows'。我明白这一点,但我怎样才能在一个时间步内传递一个矩阵呢?
是否可以只模拟一次 S-Function 而不是循环模拟?
您需要指定信号的维度,请参阅 documentation
我做了一个简单的测试,模拟了10秒,一切看起来都很好。
simin.time = 0;
simin.signals.values = ones(4)
simin.signals.dimensions = [4,4];
我用 MATLAB 写了一个 S-Function。现在我想通过 'simin' 源将矩阵传递到输入中。我已经初始化了 simin 变量的时间
simin.time = 0
并且这些值存储在一个动态大小的矩阵中。例如 simin.signals.values = ones(4)
。
现在 MATLAB 告诉我 'time and data values must have the same number of rows'。我明白这一点,但我怎样才能在一个时间步内传递一个矩阵呢?
是否可以只模拟一次 S-Function 而不是循环模拟?
您需要指定信号的维度,请参阅 documentation
我做了一个简单的测试,模拟了10秒,一切看起来都很好。
simin.time = 0;
simin.signals.values = ones(4)
simin.signals.dimensions = [4,4];