Transpose Matrix in Simulink 2020a
显示 更早的评论
I need to transpose a matrix to [1x20] from [20x1] in Simulink 2020a. The transpose block was added in a later release so I cannot use that block. I am thinking of adding "Matlab Function Block" and having that transpose the matrix, but I need to do this through a script.
3 个评论
Walter Roberson
2025-11-25
Why do you need to do it through a script? That requirement rules out using a MATLAB Function block, as MATLAB Function Blocks must use functions instead of scripts. Likewise, Level 1 and Level 2 Simulink blocks must use functions instead of scripts.
Richard
2025-11-25
Walter Roberson
2025-11-25
If you are generating code, then it costs next to nothing to generate a function header on it. The only extra overhead is that you need to be sure to "clear" the function by name after generating the new function, so that the Execution Engine will know to get rid of the tokenized version of the old file.
回答(2 个)
Walter Roberson
2025-11-25
0 个投票
If it must be done through a script, then use an Interpreted Function Block https://www.mathworks.com/help/simulink/slref/interpretedmatlabfunction.html and set the MATLAB Function parameter to transpose or ctranspose (depending on your purposes.)
Note that this will be relatively slow, and is not recommended. Interpreted MATLAB Function blocks will be removed at some later release.
Paul
2025-11-25
0 个投票
The online doc doesn't go back as far as 2020a, but in 2021a one would use the Math Function block. I'm sure (well, nearly sure) that the same functionality is offered in 2020a.
类别
在 帮助中心 和 File Exchange 中查找有关 String 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!