Выход данных моделирования с блоками

В этом примере показано, как блоки To Workspace и To File записывают данные в рабочую область и в файл соответственно.

Откройте модель примера

open_system('ex_ToWorkspace_ToFile');

Симулируйте со значениями параметров по умолчанию

1. Чтобы назвать переменные выходы и файл, измените значения параметров блоков Переменная и Имя файла с помощью диалоговых окон Параметров блоков или командной строки.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'VariableName','simoutToWorkspace')

set_param('ex_ToWorkspace_ToFile/To File',...
    'FileName','simoutToFile.mat',...
    'MatrixName','simoutToFileVariable')

2. Симулируйте модель.

out = sim('ex_ToWorkspace_ToFile');

3. Чтобы просмотреть входной сигнал для блоков To Рабочей области и To Файла, откройте возможности средства просмотра.

4. Чтобы получить доступ к данным, хранящимся в блоке To File, загрузите файл выхода.

load('simoutToFile.mat')

5. Постройте график данных, хранящихся в блоках To Workspace и To File.

subplot(2,1,1)
plot(out.simoutToWorkspace,'-o')
legend('simoutToWorkspace')

subplot(2,1,2)
plot(simoutToFileVariable,'-o')
legend('simoutToFileVariable')

Как показано графиками, данные, сохраненные каждым блоком, одинаковы, учитывая значения параметров блоков по умолчанию.

Симулируйте со значениями пользовательских параметров

1. Чтобы сохранить данные из предыдущей симуляции, задайте новые имена для выходных переменных и файла.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'VariableName','simoutToWorkspace2')

set_param('ex_ToWorkspace_ToFile/To File',...
    'FileName','simoutToFile2.mat',...
    'MatrixName','simoutToFileVariable2')

2. Чтобы изменить объем собранных данных, измените Предел точек данных на последние, Десятикратное уменьшение и Шаг расчета значения параметров блоков.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'MaxDataPoints','3',...
    'Decimation','20',...
    'SampleTime','0.5')

set_param('ex_ToWorkspace_ToFile/To File',...
    'Decimation','20',...
    'SampleTime','1')

Блок To File не предоставляет опцию ограничить точки данных последними собранными точками данных.

3. Выберите Single симуляции выхода, затем измените значение интервалов Logging параметра конфигурации.

set_param('ex_ToWorkspace_ToFile',...
    'ReturnWorkspaceOutputs','on',...
    'LoggingIntervals','[20,90]')

4. Симулируйте модель.

out = sim('ex_ToWorkspace_ToFile');

5. Чтобы получить доступ к данным, хранящимся в блоке To File, загрузите файл выхода.

load('simoutToFile2.mat')

6. Постройте график данных, хранящихся в блоках To Workspace и To File.

subplot(2,1,1)
hold on
plot(out.simoutToWorkspace2,'-*','DisplayName','simoutToWorkspace2')
hold off

subplot(2,1,2)
hold on
plot(simoutToFileVariable2,'-*','DisplayName','simoutToFileVariable2')
hold off

В этом примере блок To Workspace собирает данные за 20, 30, 40,..., 90 секунд. Данные представляют каждый 20-й шаг расчета в интервалах регистрации. Когда симуляция завершена или приостановлено, блок To Workspace записывает в рабочую область только последние три собранные точки выборки: 70, 80 и 90 секунд.

Блок To File собирает данные за 20, 40, 60 и 80 секунд. Данные аналогично представляют каждый 20-й шаг расчета в интервалах регистрации. Однако шаг расчета для блока To Файла вдвое шаг расчета для блока To Рабочей области.