L'istruzione
load (combinedStr)
legge in input il file dati il nome del quale è definito dalla stringa "
combinedStr" e, se il file è formattato in modo adeguato, restituisce nel workspace un vettore (o una matrice) con il nome "
combinedStr2
==> i dati caricati dal file "Matrice_1.dat" verranno quindi assegnati alla variabile (matrice) "Matrice_1"
==> i dati caricati dal file "Matrice_2.dat" verranno quindi assegnati alla variabile (matrice) "Matrice_2"
ecc.
Quindi se i file di input hanno nomi che contengono un indice progressivo, le matrici caricate nel workspace avranno automaticamente un nome con indice progressivo.
Per quanto riguarda l'errore relativo alla funzione "
spconvert" ci sono due possibilità:
[*] la funzione "lavora" con matrici sparse; i dati all'interno dei files "Matrice_1.dat" contengono effettivamente dati relativi a matrici sparse?
[*] a prescindere dal formato dei files in input, la parte di istruzione "
S(k)" è errata: non genera matrici con il nome "S1", "S2", ecc., ma indica semplicemente l'elemento "
k-esimo" della matrice "S".
Nel caso si voglia cambiare il nome della variabile, se cioè, come riportato nello script, si voglia rinominare le matrici nel modo seguente:
Matrice_1 ==> S1
Matrice_2 ==> S2
ecc.
si deve utilizzare, all'interno del ciclo "
for" la funzione "
eval nel modo seguente
for k = 1:1:10
prefix = 'Matrice_'
str= num2str(k)
suffix= '.dat'
combinedStr= strcat(prefix,str,suffix)
combinedStr2=strcat(prefix,str)
load (combinedStr)
% S(k)=spconvert (combinedStr)
eval(['S' num2str(k) '=spconvert(' combinedStr2 ')'])
%
% oppure semplicemente l'istruzione seguente, nel caso i files Matrice_x.dat contengagno
% matrici "normali" e non matrici sparse
%
eval(['S' num2str(k) '=' combinedStr2])
end
Hope this helps.