Загрузка переменных из рабочего пространства Stateflow
Еще с одной возможностью Stateflow нас знакомит демонстрационный пример Workspace Data - Data From Workspace.
Откроем Simulink-модель sf_fromworkspace.mdl.
Этот демонстрационный пример показывает, что переменные Stateflow-диаграммы могут быть определены и инициализированы из рабочего пространства MATLAB. Чтобы получить такое свойство локальных переменных в Stateflow, необходимо поставить в соответствующих им строках обозревателя Stateflow Explorer флажок ' FrWS ' ('инициализируются из рабочего пространства'). В этом примере из рабочего пространства MATLAB решено инициализировать две переменные: 'gain' ('усиление') и 'delay' ('задержка').
Переменная 'gain' используется для задания коэффициента усиления передаваемого на выход синусоидального входного сигнала, а переменная 'delay' - чтобы задать временной интервал, в течение которого на выходе будет нулевой сигнал.
При открытии этой модели в рабочее пространство MATLAB загружаются следующие значения переменных: gain=5 и delay=20. Осциллограммы выходного и входного сигналов имеют следующий вид.
Переменные могут задаваться и изменяться непосредственно от рабочего пространства. Например, изменение значения коэффициента усиления 'gain' до 9 эквивалентно выполнению следующей команды в командной строке MATLAB:
>> gain = 9;
Запустив после этого модель на выполнение, можно убедиться в изменении амплитуды выходного сигнала.
Знаете ли Вы, что алгоритм - это набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. В старой трактовке вместо слова "порядок" использовалось слово "последовательность", но по мере развития параллельности в работе компьютеров слово "последовательность" стали заменять более общим словом "порядок". Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система.