Importazione di dati

9
Importazione di dati Nell’ambito dell’utilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dall’utilizzatore per analizzarli. Se i dati sono contenuti in un file .txt separati da spazi vuoti è possibile caricarli in MATLAB attraverso il comando load load, utilizzandolo nel modo seguente: load + percorso del file e la matrice di dati viene salvata in MATLAB con il nome del file. È poi possibile ridenominarla come una qualsiasi matrice.

description

Importazione di dati. Nell’ambito dell’utilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dall’utilizzatore per analizzarli. - PowerPoint PPT Presentation

Transcript of Importazione di dati

Page 1: Importazione di dati

Importazione di dati

Nell’ambito dell’utilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dall’utilizzatore per analizzarli.

Se i dati sono contenuti in un file .txt separati da spazi vuoti è possibile caricarli in MATLAB attraverso il comando loadload, utilizzandolo nel modo seguente:

load + percorso del file

e la matrice di dati viene salvata in MATLAB con il nome del file. È poi possibile ridenominarla come una qualsiasi matrice.

Page 2: Importazione di dati

Importazione di dati

Se i dati sono contenuti in un file .m salvato nella directory work di MATLAB basta semplicemente digitarne il nome sul command di MATLAB che automaticamente lo leggerà

Possiamo quindi creare una matrice di dati in un file .m, salvarlo nella directory work affinché questa matrice venga per sempre associata da MATLAB alla variabile.

Page 3: Importazione di dati

Esportazione di dati

Il comando savesave salva i dati in un file con estensione .mat nella directory work utilizzandolo nel modo seguente:

save + nome del file + nome della variabile da salvare

Tale variabile può essere ripresa con il comando load oppure riaprendo il file dalla cartella work.

È possibile in alternativa aprire un file, scrivergli sopra e poi richiuderlo con una serie di comandi. Poniamo di voler porre la nostra matrice P di 2 colonne in un file di percorso c:\outp.txt:

Page 4: Importazione di dati

Esportazione di dati

nomeint = fopen(‘file.txt’, ‘wt’)dove nomeint è un nome interno che diamo noi (quindi poteva esserci scritto al suo posto qualsiasi altra cosa), fopen è il comando di MATLAB e ‘wt’ sta per to write, perché apriamo il file per scrivergli sopra;

fprintf(nomeint, ‘%g %g’, P)dove ogni %g fa salvare la colonna di P, P è la nostra matrice

fclose(nomeint)per chiudere il file aperto con nome interno nomeint.

Page 5: Importazione di dati

Cicli

Molto spesso abbiamo bisogno nell’ambito della programmazione di cicli basati su contatori; si tratta di meccanismi che permettono di indicizzare alcune variabili in modo da creare operazioni per un numero determinato di volte.

Ad esempio, poniamo di avere una matrice e di voler calcolare la media di ogni riga, elevarle alla seconda e porle in un vettore. Ci serve un modo per selezionare la prima riga, calcolare la media, elevarla al quadrato e porre il risultato nel primo elemento del vettore; selezionare la seconda riga, calcolare la media, elevarla al quadrato e porre il risultato nel secondo elemento del vettore, etc. Vediamo come fare.

Page 6: Importazione di dati

Cicli: for

Il ciclo con il for sfrutta la seguente sintassi:

for i = start:step:stop;……. comandi che contengono i ….end;

Il contatorecontatore è ii e il suo nome non è fisso, è determinato dall’utilizzatore (poteva essere a,b,c,d…). Quando il programma gira succede questo:

1. i parte dal valore start, viene immesso nei comandi in cui i compare, poi i viene incrementato dello step e così via

2. quando si arriva al valore stop il programma si ferma ed esce dal ciclo

Page 7: Importazione di dati

Cicli: for

Vediamo in concreto il meccanismo scrivendo il codice di prima. Prima di tutto creiamo un vettore di zeri con tante righe quante quelle della matrice (m) che accoglierà i quadrati delle medie per riga. Poi scriviamo il ciclo:

1. v=zeros(size(m,1),1)2. for k=1:length(v); k va da 1 alla lunghezza di v3. v(k)=mean(m(k,:))^2 nel posto k-esimo la media

della riga k-esima ^24. end;

Quando il loop gira k vale 1, viene immesso nel comando che calcola la media della riga k della matrice, la eleva alla seconda e la pone nel posto k del vettore, poi k viene aumentato di 1 e così via fino a finire le righe.

Page 8: Importazione di dati

Cicli: while

Il ciclo con il while usa la seguente sintassi:

p = startwhile p <= stop;……. comandi che contengono p ….p= p+stepend;

il codice precedente sarebbe

1. k=1; k va da 12. While k<= length(v) alla lunghezza di v3. v(k)=mean(m(k,:))^2 nel posto k-esimo la

media della riga k-esima ^2

4. k=k+1 k lo aumento di 1 alla volta

5. End;

Page 9: Importazione di dati

Cicli

I cicli for sono generalmente più efficienti dei cicli while, in termini di velocità di calcolo.

Entrambi i tipi di cicli (for e while) possono essere bloccati all’interno con il comando break. Questo comando risulta particolarmente utile utilizzandolo con if (v. dopo). La struttura del ciclo sarebbe del tipo:

for / while

if … (se succede questo)….. (continua il loop e calcola questo)elseif … (se invece succede quest’altro)break (termina il ciclo)

end;