Devo regolarmente esportare molte cifre (centinaia) in un singolo file. Attualmente utilizzoL'esportazione delle figure MATLAB è molto lenta rispetto a R
print('-dpsc2', outfile, '-append');
Il mio codice utilizza una singola figura nascosta che viene riutilizzata per ogni nuova figura.
Ora, il problema è che posso raggiungere una velocità massima di esportazione di circa 8 cifre al secondo. In R, puoi facilmente tracciare circa 200 cifre al secondo. Qualcuno ha qualche suggerimento su come velocizzare (sostanzialmente) le capacità di esportazione di MATLAB?
gen
Sospetto che possa essere la figura e il grafico * generazione *, piuttosto che l'atto di * stamparli *, è lento. Almeno, sembra che tu non abbia fatto il lavoro per isolare il tempo richiesto per * stampare * dal tempo necessario per * generare * i grafici. Dico questo perché posso vedere che * non * passi un handle alla tua chiamata per stampare (vedi, ad esempio, l'argomento ** handle ** descritto su http://www.mathworks.com/help/ matlab/ref/print.html). Scommetto che se pubblichi il codice per generare i grafici, possiamo aiutarti a velocizzarlo un po '. Oppure, potresti usare il Profiler MATLAB da solo. –
@BobGilmore: No. La stampa delle cifre più semplici in postscript richiede da 0,11 a 0,13 secondi anche su un computer veloce, sia che passi in handle a 'print' o no. – horchler
Grazie a @BobGilmore. In realtà, si tratta davvero dell'esportazione, non della generazione. Puoi vederlo se esporti ancora e ancora la stessa figura: 'figura; plot (rand (10,10)); tic; per i = 1: 100 stampa ('- dpsc2', 'test.ps', '-append'); fine; toc' richiede circa 10 secondi sulla mia macchina. – Jan