Этот пример показывает, как К Рабочей области и К блокам Файла записывают данные к рабочей области и к файлу соответственно.
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.