fi объекты в Model ExplorerМожно просматривать и редактировать fi объекты и их локальные fimath свойства с использованием Model Explorer в Simulink®. Можно изменить свойства, доступные для записи fi объекты из Model Explorer, но вы не можете изменить числовые свойства типа fi объекты после создания.

Вы можете считать данные с фиксированной точкой из MATLAB® рабочая область в модель Simulink через блок From Workspace. Для этого данные должны быть в формате структуры с fi объект в values поле. В формате массива блок Из Рабочей области принимает только действительные, с двойной точностью данные.
Чтобы прочитать в fi данные, параметр Interpolate data блока From Workspace не должен быть выбран, и параметр Form output after final data value by должен быть установлен на что-либо кроме Extrapolation.
Можно записать выход с фиксированной точкой из модели в рабочее пространство MATLAB через блок To Workspace в формате массива или структуры. Данные с фиксированной точкой, записанные блоком To Workspace в рабочую область в формате структуры, могут быть считаны в модель Simulink в формате структуры блоком From Workspace.
Примечание
Чтобы записать данные с фиксированной точкой в рабочее пространство MATLAB как fi установите флажок Log fixed-point data as a fi object в диалоговом окне блока To Workspace. В противном случае данные с фиксированной точкой преобразуются в double и записан в рабочую область как double.
Например, можно использовать следующий код для создания структуры в рабочем пространстве MATLAB с fi объект в values поле. Затем можно использовать блок Из Рабочей области, чтобы перенести данные в модель Simulink.
a = fi([sin(0:10)' sin(10:-1:0)'])
a =
0 -0.5440
0.8415 0.4121
0.9093 0.9893
0.1411 0.6570
-0.7568 -0.2794
-0.9589 -0.9589
-0.2794 -0.7568
0.6570 0.1411
0.9893 0.9093
0.4121 0.8415
-0.5440 0
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 15
s.signals.values = a
s =
signals: [1x1 struct]
s.signals.dimensions = 2
s =
signals: [1x1 struct]
s.time = [0:10]'
s =
signals: [1x1 struct]
time: [11x1 double]
Блок Из Рабочей Области в следующей модели имеет fi структура s в параметре Data.
Помните, чтобы записать данные с фиксированной точкой в рабочее пространство MATLAB как fi установите флажок Log fixed-point data as a fi object в диалоговом окне блока To Workspace. В противном случае данные с фиксированной точкой преобразуются в double и записан в рабочую область как double.
В модели следующие параметры на панели Solver диалогового окна Model Configuration Parameters имеют указанные настройки:
Start time — 0.0
Stop time — 10.0
Type — Fixed-step
Solver — Discrete (no continuous states)
Fixed step size (fundamental sample time) — 1.0

Блок To Workspace записывает результат симуляции в рабочее пространство MATLAB как fi структура.
simout.signals.values
ans =
0 -8.7041
13.4634 6.5938
14.5488 15.8296
2.2578 10.5117
-12.1089 -4.4707
-15.3428 -15.3428
-4.4707 -12.1089
10.5117 2.2578
15.8296 14.5488
6.5938 13.4634
-8.7041 0
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 32
FractionLength: 25
Можно использовать выражения Fixed-Point Designer™, чтобы задать значение и тип данных параметров блоков в Simulink. Для получения дополнительной информации смотрите Задать типы данных с фиксированной точкой.
Когда сигналы с фиксированной точкой регистрируются в рабочем пространстве MATLAB через логгирование сигналов, они всегда регистрируются как fi объекты.
Чтобы включить регистрацию сигнала для сигнала:
Выберите сигнал.
Откройте Record выпадающего списка.
Выберите Log/Unlog Selected Signals.
Для получения дополнительной информации см. раздел «Экспорт данных о сигнале с помощью логгирования сигналов».
Когда вы записываете сигналы от ссылочной модели или Stateflow® диаграмма в вашей модели, размеры слова fi объекты могут быть больше, чем вы ожидаете. Размеры слова сигналов с фиксированной точкой в ссылочных моделях и диаграммах Stateflow регистрируются как следующий по величине размер контейнера хранения данных.
Simulink предоставляет интерфейс прикладной программы (API), который позволяет программный доступ к блочным данным, таким как входы блока и выходы, параметры, состояния и рабочие векторы, в то время как симуляция выполняется. Можно использовать этот интерфейс для разработки программ MATLAB, способных обращаться к блокам данным во время выполнения симуляции или для доступа к данным из командной строки MATLAB. Информация о сигнале с фиксированной точкой возвращается вам через этот API как fi объекты. Для получения дополнительной информации об API см. раздел «Доступ к блочным данным во время симуляции» в документации Simulink.