У меня тройной вложенный цикл в matlab, и для его решения требуется огромное количество времени. Есть ли у вас какие-либо рекомендации, как я могу ускорить симуляцию? Это конкретное моделирование выполняется быстро, но в реальном коде «t» имеет тысячи элементов, а A и B - около 400 элементов.Как ускорить эту тройную петлю в matlab
A = [1,2,3];
B = [1,2];
t=[1:1:4];
or hh = 1:length(t)
for ii = 1:length(A)
T1(ii,hh)=A(ii)*t(hh)
for jj = 1:length(B)
T2(ii,jj,hh)=A(ii)*B(jj)*t(hh)
end
end
end
T1_part=sum(T1);
T2_part1=sum(sum(T2));
T2_part2=T2_part1(:,:);
T_final=T1_part+T2_part2
Результаты: T_final =
24 48 72 96
Просто чтобы быть ясно: я предполагаю, что реальный 'Ā',' b' и 't' не' [1 2 3 ..] '? –
Насколько медленно это? Это займет около 0,5 секунды? Вы пробовали parfor вместо этого? –
Проведенный код занимает 0.005s, но в моем реальном коде, когда я его покинул, прошло более 7 часов, а затем я остановил его. Нет действительных чисел для A, B и t с меньшими приращениями и разными. – user3200392