Можно присвоить значения любой структуре, подструктуре или полю в блоке MATLAB Function. Вот рекомендации:
| Операция | Условия |
|---|---|
| Присвоение одной структуры другой структуре | Необходимо задать каждую структуру с таким же числом, типом и размером полей, как Simulink.Bus объекты в базовом рабочем пространстве или локально как неявные объявления структур (см. «Создание структур в блоках MATLAB function»). |
| Присвойте одну структуру подструктуре отличной структуры и наоборот | Вы должны задать структуру с таким же числом, типом и размером полей, как и подструктура, либо как Simulink.Bus объекты в базовом рабочем пространстве или локально как неявные объявления структур. |
| Присвоение элемента одной структуры элементу другой структуры | Элементы должны иметь одинаковый тип и размер. |
Например, в следующей таблице представлены допустимые и недопустимые назначения структуры, основанные на спецификациях для модели, описанной в Attach Bus Signals to Блоки MATLAB Function:
| Назначение | Действительный или недопустимый? | Объяснение |
|---|---|---|
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. |