Как я могу использовать опцию циклического повторения в блоке Simulink «Из рабочей области» для включения данных Matlab в Simulink? - PullRequest
1 голос
/ 08 июля 2019

Предположим, у меня есть произвольный массив nx1 в рабочем пространстве Matlab.Как я могу импортировать этот массив в качестве источника в Simulink и использовать циклическое повторение, чтобы расширить данные за пределы его окончательного значения?

Я знаю блок «From Workspace» в Simulink и увидел, что у него есть опция под названием «Циклическое повторение ».Однако, если я хочу использовать свой массив nx1, я получаю сообщение об ошибке «Недопустимая переменная, указанная как ввод рабочей области».

1 Ответ

3 голосов
/ 08 июля 2019

Чтобы использовать блок From workspace, ваши данные Matlab должны быть в определенном формате.Например, для синусоидального сигнала вам нужно использовать struct следующего формата:

y.signals.values=sin(0:0.01:10*pi)';
y.signals.dimensions=1;
y.time = [ ];

Затем в блоке From Workspace убедитесь, что вы установили правильную переменную для данных, снимите флажок Interpolateданные и установить циклическое повторение вот так

Required settings in the From Workspace block

Теперь вы можете убедиться, что из рабочей области были импортированы правильные данныепросто передавая его в область действия:

Verify imported data using simple model

Полученный результат выглядит следующим образом и подтверждает, что блок From Workspace работал так, как задумано, и повторяетсяисходные данные до 10000 с:

Output until 10000 seconds

...