2

我在工作区中有 2 个一维数组,一个(xarray)用作 x 轴,另一个(yarray)用作 y 轴。

xarray =

     1     2     3     4     5     6     7     8     9    10

yarray =

   500   200   800     0     0     0     0     0     0     0

我想在 Simulink 中做的是从工作区读取这些数组并生成 XY 图。我可以从 Matlab 命令行轻松地做到这一点(figure; plot(xarray, yarray)),但是,我想从 Simulink 做到这一点。

我尝试使用两个“for workspace”块从工作区读取每个数组,然后将它们连接到“XY 图”的相应输入,但是,我得到的错误是:

端口宽度或尺寸错误。'simulink_model/XY Graph/Mux' 的输出端口 1 是具有 18 个元素的一维向量。

任何帮助将不胜感激,谢谢。

4

1 回答 1

1

使用外部矩阵时,simulink 可能有点棘手。

所以有几件事:1)矩阵需要有数组作为列(幸运的是你可以在simulink本身中进行转置操作)

2)你需要第一列来代表数组的时间输入:所以在你的情况下,你可以使用的第一个输入[xarray; xarray]',第二个输入,你可以使用 [xarray; yarray]' (提供,当然 xarray 不会改变)

3)不要忘记修改范围首选项以查看所有数据(默认最大值为 [-1;1])

于 2012-04-05T21:00:04.257 回答