MATLAB Function Versus MATLAB S-Function (processing speed)

2 views (last 30 days)
Simulink
Why block MATLAB FUNCTION is slower than block MATLAB S-Function in may model?
The task is the same.

Accepted Answer

Kaustubha Govind
Kaustubha Govind on 19 Feb 2013
When you say "MATLAB Function" block, do you mean the Embedded MATLAB Function block (the block icon has the MathWorks logo on it), or the Interpreted MATLAB Function block? Also, it would help if you post your code. Some functions (like FFT) may be faster if run in interpreted mode in MATLAB than with the Embedded MATLAB Function block, which generates C-code from the MATLAB functions. Some MATLAB implementations are highly optimized, and hence perform better than the generated C code.
  1 Comment
Ivan
Ivan on 20 Feb 2013
My problem is a simple example in the picture.
Top S-function written in C + +. Lower Matlab function written in Matlab. Blocks of the same function, but the top is 4 times faster. Why? Maybe this is due to the creation of the wrapper in the case of the lower block? M-code consists of five lines, and 800 lines of the wrapper. wrapper slows down speed of model?

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!