Optimization of code with double for-loops
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Howard Wilton
am 20 Nov. 2022
Kommentiert: Howard Wilton
am 20 Nov. 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.
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 20 Nov. 2022
X = (l(:)-q(:).')*T;
for loop = 1:length(t)
t2(:,:,loop) = t(loop) - X;
end
replace with
t2 = reshape(t, 1, 1, []) - X;
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!