首页 > 解决方案 > 无法从 Simulink 引用 Matlab 单元格数据

问题描述

在 Matlab 中,我正在调用一个返回列表的 python 函数,并且我想将这些值加载到一个数组中,我可以将其传递给 Simulink 进行处理。我可以在 CommandWindow 中输入代码并得到我期望的结果:

>> myList = cell(py.myPyModule.myPyFunction());
>> disp(myList);
    [1]    [2]    [3]

>> disp(myList{1});
   1

但是,如果我将相同的代码放入 Matlab 函数并从 Simulink 调用该函数,最后一行会给我一个错误:

来自非元胞数组对象的元胞内容引用。

这两种情况有什么区别吗?在我从 Simulink 调用 Matlab 函数的情况下,我想不出任何方法来实际获取数据。

标签: pythonmatlabsimulink

解决方案


据我了解,Simulink 不支持元胞数组。您的函数应将数据转换为要在 Simulink 中使用的数值数组。您可以为此使用该cell2mat功能。


推荐阅读