2012-04-05 645 views
2

我在工作区中有2个单维数组,其中一个(xarray)用作x轴,另一个(yarray)用作y轴。在Simulink中绘制2个矩阵的X-Y图形,由Matlab工作区导出2个阵列

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中完成。

我已经尝试通过使用两个读取来自工作空间,每个阵列“为工作区”的块,然后我连接到一个“XY图形”的相应输入,但是,我得到的错误是:

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

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

+0

参见XY图形块。 – Karlo 2016-05-18 16:09:40

回答

1

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

那么一两件事情: 1)矩阵必须有数组作为列(fortunatly你可以在Simulink本身)

2做置操作),你需要第一列represt的时间录入数组: 所以在你的情况下,对于第一个输入可以使用[xarray; xarray]',而第二个输入,你可以使用[xarray; yarray]”(提供,当然xarray不改变)

3)不要忘记修改范围的偏好看到所有的数据(默认马克塞斯为[-1; 1])

+0

非常感谢您的帮助,事实证明它非常有用!很难相信Simulink对于这样一个理论上简单的任务来说非常棘手。 – limp 2012-04-05 21:42:43