【问题标题】:Plot X-Y graph in Simulink by 2 arrays derived from Matlab workspace通过从 Matlab 工作区派生的 2 个数组在 Simulink 中绘制 X-Y 图
【发布时间】:2012-04-05 18:12:22
【问题描述】:

我在工作空间中有 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 中做的是从工作区读取这些数组并生成 X-Y 图。我可以从 Matlab 命令行 (figure; plot(xarray, yarray)) 轻松做到这一点,但是,我想通过 Simulink 做到这一点。

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

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

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

【问题讨论】:

  • 另见XY Graph 块。

标签: arrays matlab plot simulink


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常感谢您的帮助,事实证明它非常有用!很难相信 Simulink 对于这样一个理论上简单的任务会如此棘手。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多