build a output.dimension since inputport.data

2 visualizzazioni (ultimi 30 giorni)
I have a s-function that it must to build the dimension of outputport with the data of inputport.
Example:
if the inputport receive 3 ( inputport(1).Data==3 ) then the dimension of outputport will be 8 x 3 ( outputport(1).Dimension=[ 8 3] ).
I don`t know if it`s posible????...
i don`t know how ???
Please helpme.............thank you

Risposta accettata

Kaustubha Govind
Kaustubha Govind il 2 Feb 2011
As long as the number of dimensions of your output do not change, and you are able to determine the largest size for each dimension, you should be able to do this using variable-size signals. The Level-2 MATLAB S-function demo described on this page actually does what you described.

Più risposte (1)

Sebastian
Sebastian il 2 Feb 2011
I think this is not possible. The signal dimension of an S-Function port needs to be set during the initialization phase of the model. At that time Simulink usually doesn't know anything about the input signals. It might work in very special situations, i.e. when the input signal is driven by a Constant block. In other cases it will probably cause unexpected behavior.
I haven't tested this myself, but you can try to use the variable signal dimension feature in Simulink and so define the output port dimension to be variable sized.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by