fi
в Model ExplorerМожно просмотреть и отредактировать объекты fi
и их локальные свойства fimath
с помощью Model Explorer в Simulink®. Можно изменить перезаписываемые свойства объектов fi
от Model Explorer, но вы не можете изменить числовые свойства типа объектов fi
после создания.
Можно считать данные фиксированной точки из рабочей области MATLAB® в модель Simulink через блок From Workspace. Для этого данные должны быть в формате структуры с объектом fi
в поле values
. В формате массивов блок From Workspace только принимает действительные, данные с двойной точностью.
Чтобы читать в данных 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
. Можно затем использовать блок From Workspace, чтобы принести данные в модель 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]
Блок From Workspace в следующей модели имеет структуру fi
s
в параметре Data.
Помните, чтобы записать данные фиксированной точки в рабочее пространство MATLAB как объект fi
, установить флажок Log fixed-point data as a fi object на диалоговом окне блока To Workspace. В противном случае данные фиксированной точки преобразованы в double
и записаны в рабочую область как double
.
В модели следующие параметры в панели Solver диалогового окна Model Configuration Parameters имеют обозначенные настройки:
Время начала 0.0
Stop time — 10.0
Ввод 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. Для получения дополнительной информации смотрите, Задают Типы данных с фиксированной точкой (Simulink).
Когда сигналы фиксированной точки регистрируются к рабочему пространству MATLAB через журналирование сигнала, они всегда регистрируются, когда fi
возражает.
Включить журналирование сигнала для сигнала:
Выберите сигнал.
Откройтесь Record выпадают.
Выберите Log/Unlog Selected Signals.
Для получения дополнительной информации относитесь, чтобы Экспортировать Данные сигнала Используя Сигнал, Регистрирующий (Simulink).
Когда вы регистрируете сигналы из модели, на которую ссылаются, или графика Stateflow® в вашей модели, размеры слова объектов fi
могут быть больше, чем вы ожидаете. Размеры слова сигналов фиксированной точки в моделях, на которые ссылаются, и диаграммах Stateflow регистрируются как следующий самый большой размер контейнера хранения данных.
Simulink обеспечивает прикладной программный интерфейс (API), который позволяет программируемому доступу блокировать данные, такие как вводы и выводы блока, параметры, состояния, и работать векторы, в то время как симуляция запускается. Можно использовать этот интерфейс, чтобы разработать программы MATLAB, способные к доступу к данным о блоке, в то время как симуляция запускается или получить доступ к данным из командной строки MATLAB. Информация о сигнале фиксированной точки возвращена в вас через этот API, когда fi
возражает. Для получения дополнительной информации о API обратитесь к “Доступу к Данным о Блоке Во время Симуляции” в документации Simulink.