MATLAB Answers

0

Extract rows from a matrix input signal in TLC files

John Borek 님이 질문을 제출함. 9 Aug 2018
최근 활동 John Borek 님이 댓글을 추가함. 10 Aug 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]).

  댓글 수: 0

로그인 to comment.

답변 수: 1

TAB 님의 답변 10 Aug 2018
TAB 님이 편집함. 10 Aug 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.

  댓글 수: 1

Okay, thank you!

로그인 to comment.



Translated by