Ciclo for annidato troppo lento

di il
2 risposte

Ciclo for annidato troppo lento

Ciao, ho una matrice 2464 x 2464 (composta da 44 matrici partizionate 56 x 56). Ho bisogno di un algoritmo che ponga a zero ad ogni iterazione le righe e colonne i, i + 56, i + 112, i + 168....... i + 2352. Ho scritto questo codice, che a quanto sembra funziona:

for j=1:2
D=A;
for i=1:43
D(j,1:end)=0;
D(1:end,j)=0;
for m=j+(i*56)
D(m,1:end)=0;
D(1:end,m)=0;
end
C=D;
xlswrite('results.xlsx',C,j);
end
end

ma è lentissimo. Avete qualche suggerimento per aumentare la velocità di esecuzione?
Grazie

2 Risposte

  • Re: Ciclo for annidato troppo lento

    Fa una BANALE prova: CONTA quante volte scrivi il file "result.xlsx" e CONTROLLA se il numero di volte che scrivi il file (UN'UNICO FILE) ha senso con il codice che hai scritto e con quello che ti aspetteresti di ottenere.
  • Re: Ciclo for annidato troppo lento

    In pratica

    xlswrite('results.xlsx',C,j);

    come ultimissima riga
Devi accedere o registrarti per scrivere nel forum
2 risposte