Slowing down when doing calculations with catenated matrix

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!

 채택된 답변

Rashed Mohammed
Rashed Mohammed 2021년 3월 18일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2020년 10월 6일

답변:

2021년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by