2017-02-17 30 views
2

У меня есть разные матрицы для импорта в функцию Simulink Matlab из рабочей области. Эти матрицы имеют разные размеры, которые я не знаю по априори.Неоднородные данные из рабочего пространства в Simulink

В начале я попытался с помощью блока «постоянной» ввод данных все вместе в структуре, как это:

enter image description here

Но тогда, я не могу выбрать правильную матрицу, так как я не знаю, размерность каждого элемента (а также «мультиплекс» не может использоваться для разбиения матриц).

Я думаю, что у меня будет такая же проблема и с блоком «из рабочего пространства».

Мне было интересно, есть ли способ импортировать гетерогенные структуры, подобные этим. Я также пытался использовать массивы ячеек, но Simulink, похоже, не поддерживается.

Спасибо за любые предложения.

+0

Если количество матриц невелико, почему бы не использовать разные «постоянные» блоки для каждой матрицы? – Navan

+0

Да, я сделал это таким образом, но я просто хочу иметь общий метод для обработки большего количества записей – Betelgeuse

ответ

0

Если данные должны использоваться в функциональном блоке Matlab, вы можете определить матрицы рабочих пространств в качестве параметров в проводнике модели и в редакторе портов Matlab Function. Затем вы можете использовать их внутри этой функции, даже не требуя блоков «const» или рисования каких-либо сигналов.

Даже если ваше окончательное намерение состоит не в том, чтобы данные были в блоке функций Matlab, эти блоки весьма полезны для извлечения сигналов из гетерогенных данных, так как вы можете выполнить некоторую проверку размера/типа в них. Затем вы можете выводить сигналы «simulink friendly» для использования в других местах.