Create fi object from Simulink data type

1 次查看(过去 30 天)
I am working on documenting a fixed point model and would like to automate as much as possible. I have a script that lists all inputs and outputs and their compiled data types (e.g. sfix27_En29). I would now like to create a fixed point object (fi()) using the data type provided from my simulink model in order to gain access to functions provided with the fixed point object.
Is there a built-in function for creating a fi() object using the Simulink data type descriptor?

采纳的回答

Andy Bartlett
Andy Bartlett 2024-3-12
Hi
Create a numerictype object from the type name.
Then create a fi object using the numerictype as the second input argument, and the value as the first input argument.
The most general tool to create the numerictype object would be
fixed.extractNumericType
but some alternates are shown below.
See
help fixed.extractNumericType
to learn the many different inputs that can be used to create a numerictype object.
nt = fixed.extractNumericType('sfix27_En29')
nt = DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 27 FractionLength: 29
val3 = fi( 1/30, nt )
val3 =
0.0333 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 27 FractionLength: 29
Alternates
nt2 = numerictype('sfix27_En29')
nt2 = DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 27 FractionLength: 29
nt3 = fixdt('sfix27_En29')
nt3 =
NumericType with properties: DataTypeMode: 'Fixed-point: binary point scaling' Signedness: 'Signed' WordLength: 27 FractionLength: 29 IsAlias: 0 DataScope: 'Auto' HeaderFile: '' Description: ''
valMaxFiniteRepresentable = upperbound(nt)
valMaxFiniteRepresentable =
0.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 27 FractionLength: 29
valMinFiniteRepresentable = lowerbound(nt)
valMinFiniteRepresentable =
-0.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 27 FractionLength: 29

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fixed-Point Designer 的更多信息

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by