Extract rows from a matrix input signal in TLC files

4 visualizaciones (últimos 30 días)
John Borek
John Borek el 9 de Ag. de 2018
Comentada: John Borek el 10 de Ag. de 2018
For code generation of my level 2 S-function, I need to inline my S-function in a TLC file. I'm new to this, so I'm experimenting with the 'timestwo' example. I now know how to extract individual elements from a signal that is a 1D array, but what I don't know is how to extract multiple elements from a larger array as a single variable (e.g. extract [1 2] from [1 2 3]). I ultimately need to extract individual rows from a matrix I input into the S-function as separate variables (e.g. extract [1 2] from [1 2; 3 4]).

Respuesta aceptada

TAB
TAB el 10 de Ag. de 2018
Editada: TAB el 10 de Ag. de 2018
I assume you are trying to inline S-function for C-code generation.
Simulink Coder (and also Embedded Coder) handles 2-D array as 1-D.
So even if there is 2-D array (Signal or parameter) in your model, it will be handles as 1-D array in generated code.
So TLC also don't provide any option/function to access an array as 2-D.
For your inlining TLC, you can handle 2-D array as 1-D OR before passing the Simulink 2-D array to S-function, split into 1-D array. This is best option in my opinion.

Más respuestas (0)

Categorías

Más información sobre Target Language Compiler en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by