Create fi object from Simulink data type

조회 수: 1 (최근 30일)
Eirik Nordeng
Eirik Nordeng 2024년 3월 12일
답변: Andy Bartlett 2024년 3월 12일
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