File di Matlab che legge i file e li aggrega in una stessa m

di il
4 risposte

File di Matlab che legge i file e li aggrega in una stessa m

Salve,
ho scritto il seguente file matlab che legge dei file .csv e li aggrega in una stessa matrice che salva nel disco, dopodiché visualizza uno per uno l’andamento di tutte le acquisizioni.



clear all

close all



Matrice=[];

for i=14:268

nome=sprintf('tek%04.0fCH1.csv',i);

eval(['a=load(''' nome ''');']);

Matrice = [Matrice a];

end



save MatrAcq Matrice



for i=1:size(Matrice,2)

plot(Matrice(:,i));

grid

title(['Grafico dell''acq.ne n° ' int2str(i+13)])

disp('premere un tasto per continuare... Ctrl+C per finire')

pause

end



ma quando lo eseguo mi da:

??? Error using ==> load
Unable to read file tek0014CH1.csv: No such file or directory.


cosa sto sbagliando??

4 Risposte

  • Re: File di Matlab che legge i file e li aggrega in una stessa m

    Ti sta dicendo che non trova il file "tek0014CH1.csv" quindi o è sbagliato il nome del file oppure lo sta cercando nella cartella sbagliata. Matlab ricerca il file nella "current directory", ma puoi risolvere semplicemente passandogli tutto il percorso (c:/cartella1/cartella2/tek0014CH1.csv) in modo che sia indipendente dalla cartella in cui ti trovi al momento.
  • Re: File di Matlab che legge i file e li aggrega in una stessa m

    Ho risolto il problema della directory, ma ora mi dice:

    ??? Error using ==> load
    Number of columns on line 1 of ASCII file D:\TESI\Misure15-12\tek0014CH1.csv
    must be the same as previous lines.
  • Re: File di Matlab che legge i file e li aggrega in una stessa m

    La funzione load serve per caricare i file .mat, se il file csv è abbastanza semplice puoi usare csvread.

    Altra cosa, inizializza la matrice M, piuttosto che aggiungere righe ad ogni ciclo dato che sai già quante righe e quante colonne conterrà.
  • Re: File di Matlab che legge i file e li aggrega in una stessa m

    Finalmente ho risolto,
    lo script di matlab, per quanto non perfetto, alla fine funzionava....l'errore era che i file .csv, che sono stati salvati tramite un oscilloscopio elettronico nella prova che sto facendo, non erano ancora stati riordinati (eliminando virgole ed headers) per poter essere acquisiti da matlab come vettore.
    grazie;
    Mario.
Devi accedere o registrarti per scrivere nel forum
4 risposte