Optimization of code with double for-loops
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Howard Wilton
el 20 de Nov. de 2022
Comentada: Howard Wilton
el 20 de Nov. de 2022
I am looking to optimize the following code specifically, and more generally, I am trying to learn optimization techniques in MATLAB for a larger project. The code below is just a snippet example which I am looking to learn techniques and then apply to a larger problem. I am potentially looking at values of L being as high as
with four nested loops as opposed to just the two shown below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1200338/image.png)
Any pointers (or links to decent YouTube video on MATLAB optimization) would be welcomed.
clc; clearvars;
T = 1; Ts = 1e-2; t = 0:Ts:L*T;
L = 2^5;
start_time = clock();
for l = 0:L-1
for q = 0:L-1
flag = (t>=(l-q-1)*T) & (t<=(l-q+1)*T);
partA = (T-abs(t-(l-q)*T));
end
end
elapsed_time = clock();
time = elapsed_time(4)*3600+elapsed_time(5)*60+elapsed_time(6)
4 comentarios
Respuesta aceptada
Walter Roberson
el 20 de Nov. de 2022
X = (l(:)-q(:).')*T;
for loop = 1:length(t)
t2(:,:,loop) = t(loop) - X;
end
replace with
t2 = reshape(t, 1, 1, []) - X;
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!