Slowing down when doing calculations with catenated matrix

2 views (last 30 days)
I'm trying to speed up my code. The original code is here:
I think the "kron" function is repeatedly calculated within the loop "i=1:3", so I moved the kron function outside it:
And it turned out to be slower, even when the use of "kron" is reduced by three times. The reason I found out later is catenating the three copies of "temp" into the third dimension, and I tried the following code:
And this time it's much faster. So my question is why working with catenated matrix is very slow, when the calculation is the same. What in general is to be avoided? Thanks!

Accepted Answer

Rashed Mohammed
Rashed Mohammed on 18 Mar 2021
Hi Weixin,
Please go through https://www.mathworks.com/help/matlab/matlab_prog/techniques-for-improving-performance.html for improving performance of your code. It outlines the best practices while writing MATLAB code aimed at performance.
Hope this helps.

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!