Azzera filtri
Azzera filtri

Inizialize variable s function builder C

1 visualizzazione (ultimi 30 giorni)
alessandro mutasci
alessandro mutasci il 13 Ott 2022
Risposto: Manas il 8 Set 2023
Good evening, I have read the manual for S function, but I still couldnt understand how to inizialize an array in the s function boiler block. I hope someone could help me, telling me how to inizialize a variabile, lets say an array of 10 elements, that is an intemediate variabile in the script, I fill the array with the input.. in C I use the following code: static double a{}. Thank you.

Risposte (1)

Manas
Manas il 8 Set 2023
Hi Alessandro Mutasci,
I understand that you are facing difficulties conceptualizing defining variables and managing them in S functions.
To initialize variables which in your case is an array, you need to first allocate the appropriate amount of space. You can use the “ssSetUserDataSize” and “ssSetOptions” functions for this purpose.
ssSetUserDataSize(YourStructElement, sizeof(double) * ARRAY_SIZE);
Later, you can follow basic C constructs and paradigms to input a variable, loop over the array and assign data.
I would highly recommend looking at S function examples from the MATLAB documentation here https://www.mathworks.com/help/simulink/sfg/s-function-examples.html to gain more clarity.

Community Treasure Hunt

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

Start Hunting!

Translated by