Define Array data type
23 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
MarkB
2011-5-23
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 个评论
更多回答(1 个)
Fangjun Jiang
2011-5-19
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 个评论
Fangjun Jiang
2011-5-19
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?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sources 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!