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

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

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

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. Моделируйте модель.

sim('ex_ToWorkspace_ToFile');

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

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

load('simoutToFile.mat')

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

subplot(2,1,1)
plot(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.

Была ли эта тема полезной?