Speed comparison S-Function - Simulink blocks
21 次查看(过去 30 天)
显示 更早的评论
Hi!
I have simulink Level 2 M File S-Function block and I have also a subsystem with simulink blocks written to do exactly the same thing, they solve the same differential equations. The subsytem runs much faster thant the S-function block.
How should the performance of a S-Function block compare to a fully simulink based model? In this case I am talking about a Level 2 M file S Function.
Thank you for your answers.
0 个评论
采纳的回答
Guy Rouleau
2011-7-2
MATLAB-file s-functions are interpreted by the MATLAB engine. Core blocks are compiled.
As said on wikipedia:
"The main disadvantage of interpreting is a much slower speed of program execution"
If you want to write MATLAB code that runs fast, you can use the MATLAB Function Block (previously called Embedded MATLAB Function block). Or you also have the option to write a C-Mex s-function.
I wrote posts about including MATLAB code in a simulation:
and about speeding up a simulation:
0 个评论
更多回答(1 个)
Thiago Marinho
2011-7-3
1 个评论
Kaustubha Govind
2011-7-5
Thiago: Unfortunately the only way to get performance comparable with core blocks with MATLAB code is to use the MATLAB Function block. The only alternative currently is to write a C-MEX S-function, whose performance should be comparable to that of core blocks.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!