cumel
15-03-2010, 15:30
Buongiorno,
realizzando una function matlab mi sono imbattutto nel suggerimento (sottolineatura in rosso dell'editor) di preallocare la cella inserita in un ciclo for.
Bene: la soluzione
FI = cell(1, numel(BLOCCHI_RIGHE)); % preallocazione
non porta ad alcun vantaggio.
(la forma finale della cella è del tipo: { 'stringa con m righe' , 'stringa con n righe' , 'stringa con l righe'...... })
La preallocazione all'interno della cella, inoltre, aumenta il tempo necessario!!
FI{i} = zeros(numel(SINGOLO_BLOCCO_RIGHE), 3);
Mi sapete dire dove sbaglio?
Inoltre vi chiedo se, per portare stringhe in numeri, è meglio utliizzare la funzione sscanf o la funzione str2num (a parità di complessità nella programmazione)
Grazie mille
MK
realizzando una function matlab mi sono imbattutto nel suggerimento (sottolineatura in rosso dell'editor) di preallocare la cella inserita in un ciclo for.
Bene: la soluzione
FI = cell(1, numel(BLOCCHI_RIGHE)); % preallocazione
non porta ad alcun vantaggio.
(la forma finale della cella è del tipo: { 'stringa con m righe' , 'stringa con n righe' , 'stringa con l righe'...... })
La preallocazione all'interno della cella, inoltre, aumenta il tempo necessario!!
FI{i} = zeros(numel(SINGOLO_BLOCCO_RIGHE), 3);
Mi sapete dire dove sbaglio?
Inoltre vi chiedo se, per portare stringhe in numeri, è meglio utliizzare la funzione sscanf o la funzione str2num (a parità di complessità nella programmazione)
Grazie mille
MK