Why are sparse matrix operations slow in Simulink R2023a?
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
0 votes
Share a link to this question
Accepted Answer
0 votes
6 Comments
As Walter says, Simulink does not support sparse signals. Therefore, sparse matrices can only be used within the block.
Code generation from Matlab Coder and the Matlab Function block are the same for sparse.
A goal for code generation is to support arbitrary targets, which is why these blocks do not use MATLAB’s shipping optimized sparse libraries. Rather they produce C code that implements the sparse algorithms .
We have been working to improve the performance of these sparse implementations.
For full matrix math the blocks do use MATLAB’s optimized BLAS and LAPACK but it takes work to support both paths. For sparse, there has not been enough demand to optimize this case yet.
Hope this clarifies the situation. Can you say more about your use case?
More Answers (0)
Categories
Find more on Simulink Functions in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)