Глобальные переменные - это переменные, к которым можно получить доступ в других функциях MATLAB ® или блоках Simulink ®.
Для системных объектов, используемых только в MATLAB, глобальные переменные определяются в файлах определений классов System object™ так же, как глобальные переменные определяются в другом коде MATLAB (см. Глобальные переменные).
Для системных объектов, используемых в системном блоке MATLAB в Simulink, также определяются глобальные переменные, как в MATLAB. Однако для использования глобальных переменных в Simulink необходимо объявить глобальные переменные в stepImpl, updateImpl, или outputImpl метод, если они объявлены в методах, вызываемых stepImpl, updateImpl, или outputImplсоответственно.
Глобальные переменные настраиваются и используются для системного блока MATLAB так же, как и для функционального блока MATLAB (см. Хранилища данных (Simulink) и Общий доступ к данным (Simulink)). Как и функциональный блок MATLAB, для использования глобальных переменных в Simulink необходимо также использовать имя переменной, совпадающее с именем блока памяти хранилища данных.
Например, этот файл определения класса определяет объект System, который увеличивает первую строку матрицы на 1 на каждом шаге времени. Необходимо включить getGlobalNamesImpl если файл класса имеет P-код.
classdef GlobalSysObjMatrix < matlab.System methods (Access = protected) function y = stepImpl(obj) global B; B(1,:) = B(1,:)+1; y = B; end % Include getGlobalNamesImpl only if the class file is P-coded. function globalNames = getGlobalNamesImpl(~) globalNames = {"B"}; end end end
GlobalSysObjMatrix объект в системном блоке MATLAB и связанном с ним блоке памяти хранилища данных.


