2015-05-31 3 views
0

Я создал простую Simulink модель, которая добавляет два сигнала: Simulink ModelПростой Matlab/Simulink модели, добавление 2 сигнала

Код для управления этой модели заключается в следующем:

clear X Y Result 

data=ones(1,5); 
X=timeseries(data); 
Y=timeseries(data); 

output = sim('model_test','StopTime',stop_time); 
Result = output.get('Res'); 

Очевидно, что я хотим получить следующий результат: матрицу, содержащую [2 2 2 2 2]. Однако, мой результат выглядит следующим образом: Simulink Result

Результат является 1x1x27 двойной, а не 1x5 двойной, как надеялись. Знаете ли вы, что мне нужно изменить? Является ли мой код неправильным или мне нужно изменить настройки в модели simulink? Заранее спасибо!

ответ

4

Проблема заключается в том, как вы создаете свои входные данные.

Синтаксис используется для timeseries конструкций X и Y таким образом, что они имеют значение скалярной 2 на время, равное 0,1,2,3 и 4 секунды. Вы можете посмотреть это, посмотрев на X.Time и X.Data.

От того, что вы ожидаете, похоже, что вы хотите определить их как 5-элементных векторов на каждом шаге. Это будет включать использование

>> X = timeseries(ones(1,5),0); 

или что-то подобное в зависимости от того, сколько точек времени вы хотите определить. Вышеприведенные данные определяют только в момент времени = 0 секунд. Опять же, посмотрите на переменную в рабочей области MATLAB, чтобы подтвердить это. (Конечно, если вы намереваетесь иметь одинаковое значение на каждом временном шаге, вы должны просто использовать блок Constant, а не блок From Workspace.)

Выход (как и для ввода) отображается как 3D-матрица, потому что третий измерение - время. Для каждого шага моделирования, который ваша модель возьмет, вы получите значение сигнала. В вашей модели это скаляр, но в целом он будет/может быть любой двумерной матрицей. Вы получаете результат 1x1x27, потому что ваши сигналы скалярны (бит 1x1) и 27 временных шагов (бит x27).

+0

Ударьте меня к удару. +1. – rayryeng

+0

большое спасибо, это помогло! – user1956123

Смежные вопросы