Simulink.NumericType vs. Simulink.AliasType
조회 수: 21(최근 30일)
Thomas Becker 2017년 12월 18일
I'm confused about the use of Simulink.NumericType and Simulink.AliasType objects in R2016b.
In the documentation of Simulink.AliasType there's the sentence "Alternatively, to define and name a numeric data type, you can use an object of the class Simulink.NumericType." - so what's the exact difference and what's the rule whether to use Simulink.AliasType or Simulink.NumericType?
For example, I'd like to have 2 variables, which define the global data type information for "speed" and "temperature", both having the data type uint8. Shall I have 2 Simulink.NumericType objects? Or 1 Simulink.NumericType object, which is referenced by 2 Simulink.AliasType objects?
Thanks a lot in advance
MathWorks Fixed Point Team 2018년 7월 30일
편집: MathWorks Fixed Point Team 2018년 7월 30일
the difference for these two primarily lies in code generation. For alias types you will be able to see the alias of the type used (the name you specified) in the generated code; instead numeric types will be typed to the native container (their corresponding data type). For example your 'speed' alias type will appear as a variable 'speed' in the generated code, while a numeric type will be typed as the defined data type.
There is a compatibility mode for numeric types that can make them act as alias in the generated code by using the 'isAlias' property set to true. This will cause the numeric type to perform similarly to an alias type in code generation but numeric types cannot reference other alias types.
For the example you mention if you are interested in maintaining the names of these variables in the generated code you should use an alias.
You can find more about the behavior of alias types in code generation here.