如何使用S函数在Simulink中传递矩阵
问题描述:
我已经在MATLAB中编写了S函数。现在我想通过'simin'Source将Matrix传递给输入。我使用 simin.time = 0
初始化simin变量的时间,并将值存储在动态调整大小的矩阵中。因此,例如simin.signals.values = ones(4)
。 现在MATLAB告诉我'时间和数据值必须有相同的行数'。我明白,但我怎样才能在一个时间步传递矩阵? 是否有可能只模拟一次S-函数而不是循环?如何使用S函数在Simulink中传递矩阵
答
你需要指定信号的尺寸,看到documentation
我做了一个简单的测试,模拟10秒,这一切看起来不错。
simin.time = 0;
simin.signals.values = ones(4)
simin.signals.dimensions = [4,4];