Structure or array for S-function input, output and parameters?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
What is faster and what do you recommend?
I have a C S-function with 14 inputs. 1. Right now I am using a single port and I see the input as an array. I have 14 #define in order to help selecting the right input: for example #define U_IDX_FLOW_WATER 0 and then I select it as u[U_IDX_FLOW_WATER]. It helps understanding the code better than using a plain number.
2. I just came across passing structures to S-functions and, I guess, I could select my input like u->flow_water and forget about the hardcoding that I did before.
Is there a performance penalty when using approach 2?
Thanks, Remus.
0 commentaires
Réponses (1)
Kaustubha Govind
le 25 Juil 2012
I can't imagine there being a major difference in Simulink performance between #1 and #2 - they are equivalent to writing two C functions - one that takes several function arguments and the other takes one structure argument with each field represent arguments from the first function. So it boils down to more of a C question - is one more efficient that the other in C?
However, from my experience, using structure/bus signals to combine similar signals is good modeling practice.
3 commentaires
Remus Mihail Prunescu
le 25 Juil 2012
Modifié(e) : Remus Mihail Prunescu
le 25 Juil 2012
Kaustubha Govind
le 25 Juil 2012
Structure types are only supported for inputs, output and parameters, not states. But looks like you've found a solution anyway. :)
Voir également
Catégories
En savoir plus sur Naming Conventions dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!