2016-03-16 5 views
0

Пожалуйста, я имитирую динамическую систему с некоторыми входами с реальными данными в форме массива. Например, 1 * 16 или матрица размером 16 * 16, хранящаяся в рабочем пространстве Matlab. Я долго пытался использовать блок «Из рабочей области» в Simulink.«Из рабочей области» Simulink

Blockquote

Моя симуляция Время 1:10 Время Шаг: 0,01

Blockquote

Моя цель: чтобы отобразить содержимое моего массив или матричный элемент по элементу во время моего моделирования. enter image description here

Благодарим вас за любой ценный ответ.

+0

Что касается блока области видимости в модели simulink? – Daniel

+0

@ Daniel Если я хорошо понял ваш вопрос, я бы ответил. Да, у меня есть источник синуса и другая функция matlab, а в конце - блок областей, который дает мне тот же источник без какого-либо затухания или затухания. Я загрузил перед своими массивами постоянная, но очевидная проблема, поэтому мне нужно использовать «Из рабочей области» – user5953665

ответ

1

Вместо того, чтобы вручную строить структуру, как и вы, я рекомендую использовать объект timeseries. Это позволит вам использовать правильную структуру данных и дает лучшую обратную связь.

Попробуйте

%16 timestamps matching your data size, replace with your time infomration 
time=0:.1:1.5; 
%placeholder for your data 
m=rand(1,16); 
%create timeseries 
ts=timeseries(m,time); 

Чтобы убедиться в MATLAB, что ваша таймсерия делает то, что вы хотите, используйте:

ts.plot(); %won't output anything useful with random data. 

Затем используйте ts в вашем рабочей области из блока.

+0

, спасибо прежде всего за ваш ответ, иначе я попытался загрузить мой массив «m», как показано на прилагаемом изображении. это дает мне «Индекс превышает размеры матрицы». Я сделал m ([1,16], numel (время)). Я не уверен, что это правильно! , Еще раз спасибо, сэр. – user5953665

+0

Что такое 'm', ваши данные или информация о времени? Пожалуйста, поместите соответствующую информацию в свой вопрос, скриншот трудно понять. – Daniel

+0

Да, это мой массив 1 * 16. Я пробовал это: time = 1: .1: 30; data = m (:, 16); ts = timeseries (данные, время); Мой массив «m» равен m = [1,1,8,1,1,1,1,1,1,1,8,1,1,1,1,8] – user5953665

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