Значения можно присвоить любой структуре, подструктуре или полю в функциональном блоке 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. |