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

Этот пример показывает, как К Рабочей области и К блокам Файла записывают данные к рабочей области и к файлу соответственно.

Открытая модель в качестве примера

open_system('ex_ToWorkspace_ToFile');

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

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

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. Чтобы просмотреть входной сигнал для К Рабочей области и К блокам Файла, откройте средство просмотра осциллографа.

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

load('simoutToFile.mat')

5. Отобразите на графике данные, хранимые К Рабочей области и К блокам Файла.

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 вывод, затем измените значение параметра конфигурации интервалов Журналирования.

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

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

out = sim('ex_ToWorkspace_ToFile');

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

load('simoutToFile2.mat')

6. Отобразите на графике данные, хранимые К Рабочей области и К блокам Файла.

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 File удваивает шаг расчета для блока To Workspace.