Inizialize variable s function builder C

2 次查看(过去 30 天)
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.

回答(1 个)

Manas
Manas 2023-9-8
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.

类别

Help CenterFile Exchange 中查找有关 Block and Blockset Authoring 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by