Как решить алгебраический цикл с сигналами переменного размера? - PullRequest
0 голосов
/ 27 июня 2019

Я довольно новичок в Matlab и Simulink, и пару дней боролся с моей новейшей моделью.

Предполагается, что она будет представлять собой многокомпонентный химический реактор (реактор FTS) и блок разделения продуктов (Вспышка).

Overview of my diagram

Моя цель - рассчитать поведение системы с циклом рециклирования продукта (алгебраическим циклом), пока оно не достигнет устойчивого состояния.

Я работаю сФункции Matlab, которые генерируют сигналы переменного размера.(M_dot_ '') И я не смог заставить цикл работать.

Я уже пытался реализовать следующие решения для переработанного сигнала:

  • Задержка устройства
  • Блок памяти
  • Передача Fcn

и сбой -> Блоки памяти и функции передачи не поддерживают сигналы переменного размера

Delay block

Затем я попробовал его с задержкой во включенной подсистеме, которая сбрасывает свои состояния при включении в соответствии с рекомендациями Matlab / Simulink (второе изображение), и получил следующую ошибку:

Блок «... / MATLAB Function» имеет сигналы переменного размера, и он находится в алгебраическом цикле.Сигналы переменного размера не поддерживают алгебраические циклы.Попробуйте исключить алгебраическую петлю.

В следующей теме описана похожая проблема:

Тема с похожей проблемой

Я пыталсяреализовать 2-уровневый Matlab, сохранив скрипт в m.file и вызвав его в S-функции

. Я получил следующую ошибку:

Ошибка при оценке зарегистрированного метода 'PostPropagationSetup'из MATLAB S-Function' msfcn_varsize_delay 'в' recycle_FTS / Level-2 MATLAB S-Function '.Ниже приведен стек вызовов MATLAB (имена файлов и номера строк), которые привели к этой ошибке: ['C: \ Users \ ulric \ Desktop \ MA \ Simulink \ FTS \ msfcn_varsize_delay.m'] [67]

Причина: неверные размеры, указанные для Dwork 1 в 'recycle_FTS / Level-2 MATLAB S-Function'.Работа должна быть вектором, а ее ширина должна быть положительным целым числом

Как я могу устранить алгебраическую петлю и все же решить мою проблему?

Это первый раз, когда я когда-либоиспользовать такую ​​функцию, и я совершенно потерян, если честно.Я благодарен за любую помощь и предоставлю вам любую информацию, которая может отсутствовать.

С уважением, Uli

...