Define Array data type
28 views (last 30 days)
Show older comments
Hello,
I have a Simulink model, where I need to define some custom data types. For that, in a .m file I a writting something like this:
tSpeed = Simulink.AliasType;
tSpeed.BaseType = 'single';
tSpeed.Description = '[Kmh]';
tDistance= Simulink.AliasType;
tDistance.BaseType = 'single';
tDistance.Description = '[meters]';
The idea is to set the datatype of the input/output ports of the simulink model to 'tSpeed' or 'tDistance', in spite of setting them to 'single' datatype.
Now, my problem is the following: I want to define another datatype which is not just a 'single', but is an array of 6 single numbers.
Does anybody know how can I do that?
0 Comments
Accepted Answer
MarkB
on 23 May 2011
Fangjun is correct, the data type is independent of/orthogonal to the dimensions. You can also set the dimensions on most blocks by opening their parameter dialogs and assigning it there as well.
It is also worth noting that you can still "parameterize" this dimension, meaning that it can be a MATLAB workspace variable, as opposed to a hard-coded number. From there, you could use the same variable in multiple dialogs, edit the workspace variable, and change the dimensions of a bunch of blocks' outputs simultaneously.
0 Comments
More Answers (1)
Fangjun Jiang
on 19 May 2011
As it indicates, Simulink.AliasType allows you to designate MATLAB variables as aliases for signal and parameter data types. If you want to specify your signal as a vector signal, you can specify the Dimensions of the signal.
a=Simulink.Signal;
a.Dimensions=[1 6]
3 Comments
Fangjun Jiang
on 19 May 2011
My understanding is the Simulink.AliasType is for custimizing data types only, you know, single, interger, unsigned interger, etc.
What did you do to specify the data type of your Inport?
See Also
Categories
Find more on Sources in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!