Difference between ssGetInputPortRealSignal and ssGetInputPortRealSignalPtrs
3 views (last 30 days)
Show older comments
Hi there,
I coded a S-Function which works pretty good. This function has several inputports with one dimension and several moredimensional inputports. At the moment I'm using the macro ssGetInputPortRealSignalPtrs(S,i)[j] to get the value of an input. But today someone told me using the macro ssGetInputPortRealSignal(S,i) might be a better way to get the value of this signal because this has a higher performace.
Can somebody explain the main differences between those to macros and which one should be used? I only know so far that ssGetInputPortRealSignals requires time continuous signals which can be initialzed with the macro ssSetInputPortRequiredContiguous.
Thanks for your support in advance, CN
0 Comments
Accepted Answer
Kaustubha Govind
on 11 Jan 2013
You are correct that "ssGetInputPortRealSignals requires time contiguous signals which can be initialzed with the macro ssSetInputPortRequiredContiguous."
ssGetInputPortRealSignalPtrs is used for signals that can be non-contiguous. Examples of a non-contiguous signal are a bus signal or a signal that is a result of MUX-ing together signals from multiple sources, and possible other types of composite signals (I'm not sure if all composite signals are non-contiguous).
2 Comments
Kaustubha Govind
on 14 Jan 2013
Christoph: I don't know enough about the performance comparison between the two functions, but it seems likely that ssGetInputPortRealSignal would be more efficient if you assuredly have contiguous signals. It is best to use ssSetInputPortRequiredContiguous to ensure contiguity.
More Answers (0)
See Also
Categories
Find more on String 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!