#matlab #simulink
Вопрос:
У меня есть следующая модель Simulink:
У меня есть следующий сценарий:
Constant=43;
Constant1=43;
Constant2=43;
Constant3=43;
Constant4=43;
Constant5=43;
Constant6=43;
Constant7=43;
Constant10=43;
Constant11=43;
In1=[1,2,3];
In2=[4,5,6];
t_stop = 10;
T_s = t_stop/1000;
options = simset('solver', 'ode5', 'fixedstep', T_s);
sim('test_lau.slx',t_stop,options)
Я хочу отображать и, в конечном счете, вызывать выходы Display, Display2 и Display3.
Я попытался изменить последнюю строку на:
[Display, Display2, Display3]=sim('test_lau.slx',t_stop,options)
Но получите ошибку:
Number of left-hand side arguments doesn't match block diagram. When specifying that root-level outports are to be returned individually, the number of left-hand side arguments must be 2 (for T,X) plus number of root-level outport blocks
Кто-нибудь знает, как извлечь эти выходные данные из сценария?
Заранее благодарю вас за вашу помощь!
Комментарии:
1. Я думаю, вам нужен блок «Ухудшить пространство» вместо блока «Отобразить».
2. Обратите внимание, что если вы используете
To Workspace
блоки, вам не нужен синтаксис вывода, который вы использовали здесь, вы просто увидите, что переменные отображаются в вашей рабочей области (Base
по умолчанию, если вы не укажете это иначе в своихsim
настройках).3. Действительно, благодаря вам обоим я переключился на блоки «в рабочее пространство», и, похоже, это работает!
Ответ №1:
Благодаря @Ander Biguri и @Wolfie в ответе использовался блок «для работы» вместо блока «Отображение».