exponenta event banner

Присвоение значений структурам и полям

Значения можно присвоить любой структуре, подструктуре или полю в функциональном блоке MATLAB. Вот рекомендации:

ОперацияУсловия
Присвоение одной структуры другой структуреНеобходимо определить каждую структуру с одинаковым количеством, типом и размером полей, либо как Simulink.Bus объекты в базовой рабочей области или локально как неявные объявления структуры (см. Создание структур в функциональных блоках MATLAB).
Присвоение одной структуры подструктуре другой структуры и наоборотНеобходимо определить структуру с тем же номером, типом и размером полей, что и подструктура, либо как Simulink.Bus в базовой рабочей области или локально как неявные объявления структуры.
Присвоение элемента одной структуры элементу другой структурыЭлементы должны иметь одинаковый тип и размер.

Например, в следующей таблице представлены допустимые и недопустимые назначения структуры на основе спецификаций модели, описанной в разделе Подключение сигналов шины к функциональным блокам MATLAB:

НазначениеДопустимо или недопустимо?Объяснение
outbus = mystruct;ДействительныйОба outbus и mystruct имеют одинаковое количество, тип и размер полей. Структура outbus определяется Simulink.Bus объект MainBus и mystruct определяется локально для соответствия свойствам поля MainBus.
outbus = inbus;ДействительныйОба outbus и inbus определяются одним и тем же Simulink.Bus объект, MainBus.
outbus1 = inbus.ele3;ДействительныйОба outbus1 и inbus.ele3 имеют одинаковый тип и размер, поскольку каждый из них определяется Simulink.Bus объект SubBus.
outbus1 = inbus;ИнвалидСтруктура outbus1 определяется другим Simulink.Bus объект, чем структура inbus.

Связанные примеры

Подробнее