Matlab: Gestione avanzata dei file



Documenti analoghi
Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

MATLAB: FILES. Informatica B/C - A.A. 2013/2014

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

Fondamenti di Informatica

Gestione dei File in C

Introduzione al Linguaggio C

Comandi di Input/Output in Matlab

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Gestione dei File. dischi nastri cd

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

I file di dati. Unità didattica D1 1

Dati importati/esportati

MANUALE UTENTE Fiscali Free

puntatori Lab. Calc. AA 2007/08 1

Introduzione alla programmazione in C

Cosa è un foglio elettronico

Strutturazione logica dei dati: i file

Introduzione al linguaggio C Gli array

Funzioni in C. Violetta Lonati

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Operazioni di input e output in Fortran 90

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

Il Software. Il software del PC. Il BIOS

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Prova Finale di Livello Base Compito n.21

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Capitolo 13. Interrogare una base di dati

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

INFORMATICA 1 L. Mezzalira

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

RICHIESTE INTERVENTO

FPf per Windows 3.1. Guida all uso

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Le variabili. Olga Scotti

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

INFORMATICA - I puntatori Roberta Gerboni

Esercizio 2. Client e server comunicano attraverso socket TCP

Visualizzazione grafica. dell'output di un programma con GNUplot

I puntatori e l allocazione dinamica di memoria

IPC System V. Code di messaggi

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Database 1 biblioteca universitaria. Testo del quesito

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Editor vi. Editor vi

Fasi di creazione di un programma

Matlab: Strutture di Controllo. Informatica B

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Laboratorio di programmazione

Algoritmi e diagrammi di flusso

Introduzione al MATLAB c Parte 2

Hub-PA Versione Manuale utente

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Codifica: dal diagramma a blocchi al linguaggio C++

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it

SPECIFICHE E LIMITI DI EXCEL

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

STAMPA UNIONE DI WORD

Esercizio 1. Esercizio 1

MANDATO ELETTRONICO ISTRUZIONI PER L ESTRAZIONE FILE XLS

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Sistemi Operativi. 11 LEZIONE INTERFACCIA DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

MANUALE PER L UTILIZZO DELLA FUNZIONE EVENTI Rel.1.2 del 29 gennaio 2004

Olga Scotti. Basi di Informatica. Excel

Procedure di ripristino del sistema.

MANUALE EDICOLA 04.05

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

Compilatore risorse display grafico LCD serie IEC-line

Questo è riservato all Organizzazione Nazionale per la sistemazione delle parrocchie negli alberghi e per controlli contributi

Struttura del Micro Filesystem (µfs)

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

Schede ADI ADP ADEM Prestazioni aggiuntive MMG. - Manuale - Data Solution Provider s.r.l.

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Linea guida di inserimento dati Antiriciclaggio-XP DM-143

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

COME CREARE UNA LEZIONE

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Piattaforma software mfp

Introduzione a Dev-C++

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Procedura di iscrizione alla Piattaforma On Line

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Creare e ripristinare immagine di sistema con Windows 8

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Transcript:

Matlab: Gestione avanzata dei file Informatica B

File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma che li ha creati Possono essere acceduti da più programmi Il sistema operativo si occupa della loro gestione e offre ai programmi una serie di operazioni per creazione/cancellazione di file scrittura/lettura controllo dei casi di errore Nei linguaggi di programmazione abbiamo a disposizione meccanismi per usare I file attraverso il sistema operativo ed ottenere

textread 3 Legge file ASCII organizzati in tabelle Ogni colonna della tabella può essere di tipo diverso (questo non è possibile con load) Funzione molto utile per importare dati generati con altre applicazioni Forma della funzione [a b c ] = textread (filename, format, n) filename: nome del file da leggere format: come fprintf n: numero di righe da leggere. Se omesso, textread legge fino alla fine del file a, b, c, vettori colonna in cui verranno caricati i dati

textread: esempio 4 Si consideri il file chiamato test_input.dat contenente i seguenti dati James Jones 0+ 3.51 22 yes Sally Smith A+ 3.28 23 No Questi dati possono essere letti con l istruzione [nome cognome gruppo gpa eta risposta] = textread( test_input.dat, %s %s %s %f %d %s ); Se si desidera saltare una colonna, per esempio, quella dell età [nome cognome gruppo gpa risposta] = textread( test_input.dat, %s %s %s %f %*d %s );

Operazioni di basso livello per l accesso ai file: approccio operativo Simile ad un nastro video/audio 5 inizio del file posizione corrente fine del file La posizione corrente indica il punto da dove si leggerà (dove si scriverà) L indicatore di posizione corrente si sposta in avanti dopo ogni lettura/scrittura Esistono le operazioni per spostare la posizione corrente in avanti o indietro senza leggere o scrivere (per esempio, rewind) Il file non ha dimensioni prefissate. La sua dimensione massima dipende dalla dimensione della memoria di massa

Descrittore del file 6 Per ogni file aperto il sistema operativo gestisce un descrittore di file Il descrittore contiene informazioni su Modalità di utilizzo di un file (lettura, scrittura, append...) Posizione corrente nel file Verificarsi di un errore di lettura/scrittura Coincidenza tra posizione corrente e l indicatore di fine file Tutti i descrittori di file sono memorizzati nella tabella dei file aperti

Sequenza di operazioni di basso livello da eseguire per usare i file 7 Apertura di un flusso di comunicazione con il file fid = fopen(nome file, modalità di apertura) fid è un intero Scrittura/lettura nel/dal file fwrite, fprintf, fread, fscanf Chiusura del flusso di comunicazione status = fclose(fid)

fopen 8 fid = fopen(nome file, modalità di apertura) Apre un flusso di comunicazione con il file il cui nome viene specificato come parametro Il nome del file può includere il percorso nell albero delle directory. Se non lo include, si assume che il file si trovi nella directory corrente Si possono specificare anche percorsi relativi rispetto alla directory corrente Se il file non esiste e la modalità di apertura è w il file viene creato Restituisce -1 ed un messaggio di errore se il flusso di comunicazione non è stato aperto, e cioè: Se un file che deve essere aperto in lettura non esiste Se si verifica un errore nell interazione con il supporto di memorizzazione su cui il file risiede fopen( all ) restituisce un vettore riga che contiene gli ID di tutti i file aperti dal programma

Modalità di apertura del flusso di comunicazione 9 r : apre un file esistente in lettura w : apre un file esistente o crea un nuovo file in scrittura con distruzione di quanto già presente nel file a : apre un file esistente o crea un nuovo file in scrittura con posizionamento alla fine del file. Quanto già presente nel file viene mantenuto rt : come r ma in modalità testuale wt : come w ma in modalità testuale at : come a ma in modalità testuale r+ e rt+ : come r / rt ma si può anche scrivere nel file w+ e wt+ : come w / wt ma si può anche leggere dal file a+ e at+ : come a / at ma si può anche leggere dal file

fclose 10 status = fclose(fid) Determina la chiusura del flusso di comunicazione con il file identificato da fid Restituisce 0 se la chiusura è avvenuta senza errori, il valore -1 in caso di problemi status=fclose( all ) chiude tutti i file

fwrite 11 cont=fwrite(fid,array,formato) cont: indica il numero di valori effettivamente scritti nel file fid: identificatore del file su cui scrivere (nb: il file deve essere stato aperto in precedenza) array: array contenente i dati da salvare formato: specifica il formato in cui i dati verranno salvati. Formati principali char, int8, int16, int32, int64, float32, float64 (i numeri indicano il numero di bit usati per rappresentare i valori)

fread 12 [array cont]=fread(fid,size,formato) Per il significato di cont e fid, e formato si veda la slide precedente I dati letti vengono memorizzati in array size è la dimensione dei dati da leggere. Tre possibilità n: legge esattamente n valori. Dopo l esecuzione di questa istruzione array sarà un vettore colonna contenente questi n valori Inf: legge fino alla finel del file. Dopo l esecuzione di questa istruzione array sarà un vettore colonna contenente tutti i valori letti [n m]: legge esattamente nxm valori. Dopo l esecuzione di questa istruzione array sarà una matrice nxm contenente tutti i valori letti

Esempio: salvataggio dati su file 13 % genera un vettore riga contenente numeri casuali a=rand(1,1000); %richiede all'utente il nome del file filename=input('inserisci un nome di file '); %apre il file [fid msg]=fopen(filename, 'w'); %se il file e` stato aperto con successo... if(fid>0) %scrive il vettore a su file cont=fwrite(fid,a,'float64'); %informa l'utente dell'avvenuta scrittura disp([num2str(cont) ' valori scritti...']); %chiude il file fclose(fid); else %il file non e` stato aperto... disp(msg); end

Esempio: caricamento dati da file 14 %richiede all'utente il nome del file filename=input('inserisci un nome di file '); %apre il file [fid msg]=fopen(filename, 'r'); %se il file e` stato aperto con successo... if(fid>0) %legge i dati da file e li memorizza in un vettore [vett cont]=fread(fid,[1 1000],'float64'); %informa l'utente dell'avvenuta lettura disp([num2str(cont) ' valori letti...']); %chiude il file fclose(fid); else %il file non e` stato aperto... disp(msg); end

Input/output formattato 15 cont=fprintf(fid,format,val1, val2,.) A parte fid, è come la printf in C [array cont] = fscanf(fid, format, size) I dati letti vengono memorizzati in array size come in fread

Esempio 16 Si consideri il file x.dat che contiene i seguenti dati 10.00 20.00 30.00 40.00 Come utilizzare la scanf per costruire diverse strutture dati con questi valori [z cont] = fscanf(fid, %f ); cont 4 [z cont] = fscanf(fid, %f, [2 2]); 10 20 30 40 cont 4 10 20 30 40