Глобальные переменные - это переменные, к которым можно получить доступ в других функциях MATLAB ® или блоках Simulink ®.
Для системных объектов, используемых только в MATLAB, глобальные переменные определяются в файлах определений классов System object™ так же, как глобальные переменные определяются в другом коде MATLAB (см. Глобальные переменные).
Для системных объектов, используемых в системном блоке MATLAB в Simulink, также определяются глобальные переменные, как в MATLAB. Однако для использования глобальных переменных в Simulink, если глобальные переменные объявлены в методах, вызываемых stepImpl, updateImpl, или outputImpl, необходимо объявить глобальные переменные в stepImpl, updateImpl, или outputImpl способ, соответственно.
Глобальные переменные для системного блока MATLAB настраиваются и используются таким же образом, как и для функционального блока MATLAB (см. Хранение данных и глобальное совместное использование данных). Как и функциональный блок MATLAB, для использования глобальных переменных в Simulink необходимо также использовать имя переменной, совпадающее с именем блока памяти хранилища данных.
Например, этот файл определения класса определяет объект System, который увеличивает первую строку матрицы на 1 на каждом шаге времени. Если файл имеет P-код, необходимо включить getGlobalNamesImpl.
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 и связанном с ним блоке памяти хранилища данных.


