Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 10
  • Apertura di file pdf in matlab. Nozioni di base sulla programmazione in MatLab

Apertura di file pdf in matlab. Nozioni di base sulla programmazione in MatLab

Lo svantaggio delle funzioni di salvataggio e caricamento di cui sopra è che funzionano con determinati formati di file (di solito file mat) e non consentono il caricamento o il salvataggio di dati in altri formati. Nel frattempo, potrebbe essere necessario caricare informazioni, ad esempio, da file binari creati da altri prodotti software per l'ulteriore elaborazione dei risultati in MatLab. A tale scopo sono state sviluppate delle funzioni

fwrite(<идентификатор файла>, <переменная>, <тип данных>);

<переменная>=paura(<идентификатор файла>);
<переменная>=paura(<идентификатор файла>, <размер>);
<переменная>=paura(<идентификатор файла>, <размер>, <точность>);

Qui<идентификатор файла>è un puntatore al file con cui lavorare. Per ottenere l'ID, utilizzare la funzione

<идентификатор файла>= aperto(<имя файла>,<режим работы>);

dove parametro<режим работы>può assumere i valori indicati in tabella. 5.1.

Tabella 5.1. Modalità di gestione dei file in MatLab

parametro<режим работы>

descrizione

write (cancella il contenuto precedente del file)

append (crea il file se non esiste)

leggi e scrivi (non crea un file se non esiste)

leggi e scrivi (cancella il vecchio contenuto o crea il file se non esiste)

leggi e aggiungi (crea un file se non esiste)

parametro aggiuntivo, che significa lavorare con file binari, ad esempio, 'wb', 'rb' 'rb+', 'ab', ecc.

Se la funzione fopen() non riesce ad aprire correttamente il file per qualche motivo, restituisce -1. Di seguito è riportato un frammento del programma per la scrittura e la lettura di dati da un file binario:

A = ;

fid = fopen("my_file.dat", "wb"); % di file aperti per la scrittura

error("File non aperto");
fine

fwrite(fid, A, "doppio"); % scrittura matrice su file (40 byte)
fclose(fid); % chiudi file

fid = fopen("my_file.dat", "rb"); % di file aperti per la lettura
se fid == -1% verificare la corretta apertura
error("File non aperto");
fine

B = fread(fid, 5, "doppio"); % legge 5 valori doppi
disp(B); % di visualizzazione sullo schermo
fclose(fid); % chiudi file

A seguito dell'esecuzione di questo programma, nella directory di lavoro verrà creato un file di 40 byte my_file.dat, che conterrà 5 valori di tipo double, scritti come sequenza di byte (8 byte per ogni valore). La funzione fread() legge i byte memorizzati in sequenza e li converte automaticamente in double, ad es. ogni 8 byte vengono interpretati come un valore doppio.

Nell'esempio precedente, il numero di elementi (cinque) è stato specificato in modo esplicito da leggere dal file. Tuttavia, spesso il numero totale degli elementi non è noto in anticipo o cambia nel corso del programma. In questo caso, sarebbe meglio leggere i dati dal file fino al raggiungimento della fine del file. MatLab ha una funzione per verificare se viene raggiunta la fine del file

fef(<идентификатор файла>)

che restituisce 1 quando viene raggiunta la fine del file e 0 in caso contrario. Riscriviamo il programma per la lettura numero arbitrario elementi di tipo double dal file di input.

fid = fopen("my_file.dat", "rb"); % di file aperti per la lettura
se fid == -1
fine

B=0; % di inizializzazione della variabile
cnt=1; % di inizializzazione del contatore
while ~feof(fid) % loop fino al raggiungimento della fine del file
= fread(fid, 1, "doppio"); %leggendo uno
% doppio valore (V contiene il valore
% elemento, N è il numero di elementi letti)
se N > 0 % se l'elemento è stato letto correttamente, allora
B(cnt)=V; % forma un vettore riga dai valori di V
cnt=cnt+1; % aumenta il contatore di 1
fine
fine
disp(B); % risultato di visualizzazione sullo schermo
fclose(fid); % chiudi file

Questo programma genera dinamicamente un vettore di riga mentre gli elementi vengono letti dal file di input. MatLab aumenta automaticamente la dimensione dei vettori se l'indice elemento successivo 1 in più del massimo. Tuttavia, molto tempo del computer viene dedicato a tale procedura e il programma inizia a funzionare notevolmente più lentamente che se la dimensione del vettore B fosse determinata fin dall'inizio come 5 elementi, ad esempio, come segue

Va inoltre notato che la funzione fread() viene scritta con due parametri di output V e N. Il primo parametro contiene il valore dell'elemento letto e il secondo il numero di elementi letti. IN questo caso il valore di N sarà uguale a 1 ogni volta che l'informazione viene letta correttamente dal file e 0 quando viene letto il carattere di servizio EOF, che significa la fine del file. Il controllo sottostante consente di formare correttamente il vettore dei valori B.

Puoi anche memorizzare dati di stringa usando le funzioni fwrite() e fread(). Ad esempio, data la stringa

str = "Ciao MatLab";

fwrite(fid, str, "int16");

Il tipo int16 viene utilizzato qui, perché quando si lavora con lettere russe, il sistema MatLab utilizza una rappresentazione a due byte di ciascun carattere. Quello che segue è un programma per scrivere e leggere dati di stringa usando le funzioni fwrite() e fread():

fid = fopen("my_file.dat", "wb");
se fid == -1
error("File non aperto");
fine

str="Ciao MatLab"; % stringa da scrivere
fwrite(fid, str, "int16"); % scrivi su file
fclose(fid);

fid = fopen("my_file.dat", "rb");
se fid == -1
error("File non aperto");
fine

B=""; % inizializzazione della stringa
cnt=1;
mentre ~feof(fid)
= fread(fid, 1, "int16=>carattere"); % corrente di lettura
Simbolo % e conversione
% da carbonizzare
se N > 0
B(cnt)=V;
cnt=cnt+1;
fine
fine
disp(B); % visualizza la stringa sullo schermo
fclose(fid);

Il risultato dell'esecuzione del programma sarà simile

Lezione numero 19.

Lavorare con i file

    Apertura e chiusura di file

    Operazioni su file binari

    Operazioni su file formattati

    Posizionamento dei file

    File specializzati

I file sono oggetti abbastanza comuni nel sistema MATLAB. Alcuni tipi di file sono già stati discussi nei capitoli precedenti. Questa lezione tratta le proprietà dei file che non dipendono dal loro tipo e si applicano a qualsiasi file.

Apertura e chiusura di file

File di solito è una raccolta di dati uniti da un nome. Il tipo di file è solitamente determinato dalla sua estensione. Consideriamo il file nel suo insieme, anche se fisicamente sul disco può essere rappresentato da più aree: dicono che in questo caso il file è frammentato.

Prima di utilizzare qualsiasi file, deve essere aprire, e a fine utilizzo - Chiuso. Molti file possono essere aperti e leggibili contemporaneamente. Considera i comandi per aprire e chiudere i file.

    Il comando open name, in cui il nome deve contenere un array di caratteri o una variabile di caratteri, apre i file a seconda dell'analisi del nome del parametro e delle estensioni nel nome del nome:

    • variabile - apre una matrice denominata per nome nell'editor di matrice;

      Mat: apre un file, salva le variabili in una struttura in area di lavoro;

      Fig - lo apre nell'Editor delle proprietà;

      M - apre un file m nell'editor-debugger;

      Mdl - apre il modello in Simulink;

      R - apre, se esiste, un file m con lo stesso nome;

      HTML - si apre documento HTML nel browser della guida.

Se esistono file con estensione nel percorso MATLAB, allora il file restituito dal comando il cui nome viene aperto, in caso contrario, il file da file system. Se il file non ha un'estensione di nome, viene aperto da un programma il cui formato di file verrebbe rilevato dalla funzione igpsIGfilename") Per impostazione predefinita, per tutti i file con desinenze diverse da quelle sopra elencate, viene chiamato openother. Open chiama il functions openxx, dove xxx è l'estensione del file Le eccezioni sono le variabili dell'area di lavoro su cui viene chiamato openvar e le immagini su cui viene chiamato openim. nuove estensioni alla lista. Chiudi i file aperti con aiuta ad aprire, richiesto dagli editori chiamati da orenxxx.

    Uigetfile(FILTERSPEC.Titolo). Apre una finestra di dialogo denominata Titolo con un filtro FILTERSPEC (ad esempio, un array di celle contenente estensioni di file) e restituisce il file selezionato dall'utente e il relativo percorso. Restituisce FILENAME=0 se il file non esiste o se l'utente ha fatto clic su Annulla. = uigetfile(FILTERSPEC, Title.X.Y) posiziona la finestra di dialogo su X, Y (coordinate pixel).

Esempio:

Uigetfile("*.m;*.fig;*.mat:*.mdl". "Tutti i file MATLAB (*.m, *.fig, *.mat. *.mdl)": ...

    Uiputfile(FILTERSPEC.TITLE) salva un file in una finestra di dialogo guidata dall'utente. I parametri sono simili a quelli della funzione uigetfile.

    Il comando ui open apre una finestra di dialogo e, se l'utente ha selezionato un file con famosa estensione, lo chiama usando open o se il nome del file ha estensione sconosciuta, quindi viene chiamato uigetfile. Gli argomenti di input di uiopen possono essere mat lab, load, figure, simulink, editor. Senza argomenti di input o con argomenti di input matlab, la finestra di dialogo richiede di selezionare *.m, *.fig, *.mat,*.mdl (se Simulink è installato) , * . cdr (se è impostato il flusso di stato), *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (se è installato Real-Time Workshop). Con caricamento argomento - *.mat. Con l'argomento figura, *.fig; inchiostro simultaneo - *.mdl, editor - *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.

Esempio:

figura aperta.

    Il comando uiload apre un file in una finestra di dialogo guidata dall'utente utilizzando il comando load.

La funzione di importazione dell'interfaccia utente avvia l'Importazione guidata, importando da un file nella cartella o negli appunti corrente Scambio di Windows. Corrisponde alla scelta di Import Data dal menu File oa Paste Special dal menu MATLAB Edit.

    Importazione interfaccia utente (FILENAME) - Avvia l'Importazione guidata aprendo il file FILENAME. La procedura guidata di importazione mostra i dati per anteprima. I dati e la loro rappresentazione come variabili MATLAB appaiono nella finestra di anteprima. I dati, il testo e le intestazioni effettivi appaiono diversi variabili MATLAB. Per i dati ASCII, è necessario assicurarsi che l'Importazione guidata riconosca i separatori di colonna. Da solo, può riconoscere solo il carattere di tabulazione, lo spazio, la virgola o il punto e virgola. È necessario fare clic sul pulsante Avanti e nella finestra successiva confermare la scelta del separatore effettuata dalla procedura guidata, oppure selezionare Altro e inserire un separatore qualsiasi.

    ui import ("-f i le") - visualizza prima una finestra di dialogo per la selezione dei file.

    ui import ("-pastespecial") - visualizza prima il contenuto degli appunti di Windows per l'anteprima.

    S = ui import (...) memorizza le variabili risultanti come campi della struttura S.

    Il comando uisave è un salvataggio controllato dall'utente (il comando save è descritto nella Lezione 2) con una finestra di dialogo di Windows.

    La funzione saveas salva un disegno o un modello Simulink nel formato desiderato su un supporto di memorizzazione o su un dispositivo abilitato alla stampa.

    funzione saveas(H, "FILENAME") - salva i dati in base al comando grafica del descrittore H in NOMEFILE. Il formato del file è determinato dall'estensione del nome FILENAME.

    La funzione saveas (H. "FILENAME" . "FORMAT") fa lo stesso, ma con il parametro FORMAT (il formato è specificato allo stesso modo dell'estensione del nome del file e può differire da esso). FORMAT ha la precedenza sull'estensione del nome file. Parametri di funzione:

Esempi:

saveas(gcf. "output", "fig") saveasCgcf, "output", "bmp")

Comando o funzione di eliminazione cancella un file grafico o un oggetto.

    Elimina nome file elimina un file cartella corrente. Può essere utilizzata *. Preferibilmente utilizzato con una voce nella forma della funzione delete("mw of file") quando il nome del file è una stringa.

    delete(H) elimina oggetto grafico con maniglia H. Se questo oggetto è una finestra, viene preliminarmente chiuso.

    La funzione close(H) chiude solo le finestre grafiche. È necessario utilizzare il comando f close per chiudere i file.

Per scrivere file su disco, il comando save viene utilizzato in una forma piuttosto ovvia:

Salva

salva nome file salva nome file varl var2 ... salva ... opzione save(" nomefile" , ...)

Di conseguenza, il comando di caricamento viene utilizzato per leggere i file dal disco:

carico

carica nome file carica nome file X Y Z

carica nomefile -ascii carica nomefile -mat

In questi comandi il nome del file viene specificato secondo le regole adottate nei sistemi operativi della classe MS-DOS. Questi comandi sono generalmente duplicati dai pulsanti della barra degli strumenti e dal browser dei file.

Operazioni su file binari

Binario o binario, file di nome i cui dati sono codici macchina. Le principali operazioni con tali codici sono elencate di seguito.

    fopen(nomefile, permesso) - apre un file con il nome filename e il parametro definito in permesso, e restituisce il fid con il valore: 0 - letto da tastiera (il permesso è impostato su "r"); 1 - uscita sul display (il permesso è impostato su "a"); 2 - output del messaggio di errore (il permesso è impostato su "a"); -1 - mancata apertura del file con l'output Messaggio sul tipo di errore. L'identificatore fid viene spesso utilizzato come argomento da altre funzioni e programmi di I/O. Il nome del file nomefile può contenere un percorso a un file.

Se il file da aprire per la lettura non si trova nella directory corrente, la funzione fopen cerca il file nel percorso specificato in MATLAB.

Il parametro di autorizzazione può assumere uno dei seguenti valori di base (per altri, vedere sistema di aiuto):

    "r" - apre il file per la lettura (di default);

    "r+" - apertura di un file per la lettura e la scrittura;

    "w" - cancella il contenuto di un file esistente o creane uno nuovo e aprilo per la scrittura;

    "a" - crea e apri un nuovo file o aprine uno esistente perrecord aggiunti alla fine del file.

L'aggiunta di "b" a questa riga (impostazione predefinita) indica al sistema di aprire il file in modalità binaria.

L'aggiunta di "t" invece di b a questa riga, ad esempio "rt", su sistemi operativi che distinguono tra file di testo e binari, indica al sistema di aprire il file in modalità testo. Ad esempio, in tutte le versioni di MATLAB per Windows/MS-DOS e VMS, non è possibile aprire file di testo senza il parametro "rt". L'immissione di file utilizzando fopen in modalità testo rimuove tutti i ritorni a capo prima del carattere nuova linea.

    Fopentfilename.permission,format) - Apre un file come descritto sopra, restituendo l'ID del file e il messaggio. Inoltre, il valore del parametro format consente di definire con precisione formato numerico. Ci sono 8 possibili formati, la cui descrizione può essere trovata nel sistema di aiuto. In particolare, la stringa di formato può essere "nativa" (il formato del computer su cui è installato il sistema), "vax", "cry" (computer VAX e Cray), ecc.

Alcune chiamate a fread o fwrite possono sovrascrivere il formato numerico specificato nella chiamata fopen.

    fids = fopen C all") - restituisce un vettore di riga contenente gli identificatori di tutti i file aperti, esclusi flussi standard O, 1 e 2. Il numero di elementi vettoriali è uguale al numero aperto dall'utente File;

    Fopen(fid) - Restituisce il nome completo del file, la stringa .permission e la stringa di formato. I valori fid non validi restituiscono stringhe vuote per tutti gli argomenti di output.

Il comando fclose chiude un file. Ha le seguenti opzioni.

    Status = fclose(fid) - chiude il file se è aperto. Restituisce lo stato del file, che è 0 se la chiusura è riuscita e -1 in caso contrario. L'argomento fid è un identificatore associato al file aperto (si veda la funzione fopen per una descrizione più dettagliata);

    status = fclose("all") chiude tutti i file aperti. Restituisce 0 in caso di successo, -1 in caso contrario.

Un esempio di apertura e chiusura di un file:

» fid=fopen("c:\ex"."a+") fid = 4

» fclose(4)

ans =

    Fread(fid,size,precision): legge i dati binari da file specificato e li inserisce nella matrice A. L'argomento di output del conteggio contiene il numero di elementi letti correttamente. Il valore di fid è un intero restituito da fopen; size - un argomento che specifica la quantità di dati da leggere. Se l'argomento size non è specificato, la funzione f read legge i dati fino alla fine del file.

Vengono utilizzati i seguenti parametri di dimensione:

    n - lettura di n elementi in un vettore colonna;

    Legge tutti gli elementi necessari per riempire la matrice thp.

Il riempimento avviene in colonne. Se ci sono pochi elementi nel file, la matrice viene riempita con zeri. Se la lettura raggiunge la fine del file senza riempire la matrice della dimensione richiesta, la matrice viene riempita con zeri. Se si verifica un errore, la lettura si interrompe all'ultimo valore letto. Il parametro precision è una stringa che specifica la precisione numerica dei valori di lettura, controlla il numero di bit letti per ogni valore e interpreta quei bit come un numero intero, in virgola mobile o un carattere

    Fread(fid,size.precision,skip) - Include un argomento skip arbitrario che specifica il numero di byte da saltare dopo ogni lettura. Questo può essere utile quando si estraggono dati non contigui da record di lunghezza fissa. Se la precisione è in formato bit, ad esempio "bitN 1 o "ubitN", il valore di skip è determinato da ~ bit. Elenco ampio valori possibili il parametro di precisione può essere trovato nel sistema di aiuto di MATLAB;

    count=fwrite(fid,A,precision) - scrive gli elementi della matrice A in un file, rappresentandoli con la precisione specificata. I dati vengono scritti nel file in colonne, il conteggio degli argomenti di output contiene il numero di elementi scritti correttamente. Il valore dell'identificatore fid è un numero intero ottenuto dalla funzione f open. Aggiunge ritorni a capo prima dell'inizio di una nuova riga;

    count=fwrite(fid.A,precision,skip) - fa lo stesso ma include un argomento skip arbitrario che specifica il numero di byte da saltare prima di ogni scrittura. Ciò è utile quando si inseriscono dati in aree non contigue in record di lunghezza fissa. Se la precisione è in formato bit, come "bitN" o "ubitN", il valore di skip è specificato in bit.

Esempi:

» fid = fopen("c:\prim","a+")

fid=

» A=magia(7)

A =

30

39

48

1

10

19

28

38

47

7

9

18

27

29

46

6

8

17

26

35

37

5

14

16

25

34

36

45

13

15

24

33

42

44

4

21

23

32

41

43

3

12

22

31

40

49

2

11

20

» conteggio = fwrite(j.A)

Conte =

» stato=fclose(3)

stato=

» fid

Fopen("c:\prim"."r")

fid=

» = paura(3.)

30

39

48

1

10

19

28

38

47

7

9

18

27

29

46

6

8

17

26

35

37

5

14

16

25

34

36

45

13

15

24

33

42

44

4

21

23

32

41

43

3

12

22

31

40

49

2

11

20

contare =

Operazioni su file formattati

Vengono chiamati i file contenenti dati formattati file formattati. Di seguito sono elencate le funzioni utilizzate per lavorare con tali file.

    Riga = fgetl(fid) - restituisce una stringa da file con identificatore fid con il carattere di fine riga rimosso. Se la funzione fgetl rileva la fine del file, restituisce -1 (consultare la funzione fopen per ulteriori informazioni). descrizione dettagliata fid);

    Riga = f gets (fid) - restituisce una riga dal file con id fid senza rimuovere il terminatore di riga. Se la funzione fgets rileva la fine del file, restituisce -1;

    Riga = fgets(fid.nchar) - restituisce non più di nchar dei primi caratteri di una riga. Dopo la fine riga o fine file, n caratteri aggiuntivi non vengono letti (vedi esempi per la funzione fscanf);

    Count = fprintf(fid.format,A....) formatta i dati contenuti nella parte reale della matrice A sotto il controllo della format string e li scrive in un file con l'identificatore fid. La funzione fprintf restituisce il numero di byte scritti. Il valore di fid è un numero intero restituito dalla funzione fopen.

Se si omette l'identificatore fid dall'elenco degli argomenti della funzione fprintf, l'output verrà stampato sullo schermo, proprio come quando si utilizza l'output standard (fid=l).

    fprintf(formato,A....) - scrivi in dispositivo standard- schermo (ma non su un file). La stringa di formato definisce il sistema numerico, l'allineamento, figure significative, larghezza campo e altri attributi del formato di output. Può contenere lettere ordinarie dell'alfabeto insieme a specificatori, segni di allineamento, ecc.

Tabella 19.1. Caratteri speciali nelle stringhe di formato

Simbolo

Descrizione

\n

Nuova linea

\T

Scheda orizzontale

\B

Restituisci un carattere

\R

Ritorno in carrozza

\F

Nuova pagina

\\

Barra rovesciata

\" o "

citazione singola

%%

Per cento

La funzione fprintf si comporta come la funzione fprintf ANSI C equivalente, con alcune eccezioni ed estensioni. In tavola. 19.1 sono descritti Simboli speciali trovato in stringa di formato. Per emettere dati numerici o di caratteri in una stringa di formato, è necessario utilizzare specificatori elencati nella tabella. 19.2.

Tabella 19.2. Identificatori del formato di output dei dati

specificatore

Descrizione

%D Sistema decimale simboli (firmati)
*da Simbolo unico

% e

Rappresentazione esponenziale dei numeri utilizzando il simbolo "e" in basso registro, ad esempio 3.1415e + 00

Rappresentazione esponenziale dei numeri utilizzando il simbolo "E" in alto registro, ad esempio 3.1415E + 00

%F

Notazione a virgola fissa

%G

Il più compatto di %e e %f. Gli zeri iniziali non vengono emessi.

%G

Uguale a %d ma usa le lettere maiuscole per il carattere "E".

%di

Notazione ottale (senza segno)

%S

Stringa di caratteri

%u

Notazione decimale (senza segno)

%X


Notazione esadecimale mediante simboli minuscolo("a"..."f")

%X

Notazione esadecimale con caratteri maiuscoli ("A"..."F")

È possibile inserire caratteri aggiuntivi tra il segno di percentuale e la lettera nell'identificatore. Il loro significato è spiegato nella tabella. 19.3.

Tabella 19.3. Opzioni dell'identificatore di formato

Simbolo

Descrizione

Esempio

Segno meno" (-)

Allinea gli argomenti convertiti a sinistra

%-5,2 g

Segno più (+)

Stampa sempre il segno numerico (+ o -)

%+5,2 gg

Zero (0)

Riempimento con zeri al posto degli spazi

%05.2d

Numeri

Specifica il numero minimo di caratteri da stampare

%6f

Numeri (dopo il punto)

Il numero dopo il punto determina il numero di caratteri stampatia destra della virgola decimale

%6.2f

    A = fscanf(fid, format) - legge tutti i dati dal file con identificatore, fid, lo converte in base al valore del parametro format e lo restituisce come matrice A. Il valore di fid è un intero restituito dalla funzione fopen . Il parametro format è una stringa che specifica il formato dei dati da leggere;

    Fscanf(fid.format,size) - legge la quantità di dati specificata dal parametro size, la converte in base al parametro format e la restituisce insieme al numero di elementi di conteggio letti correttamente. Il parametro size è un argomento arbitrario che specifica la quantità di dati da leggere. I valori validi sono:

    • inf - legge gli elementi fino alla fine del file e li inserisce in un vettore di colonna contenente lo stesso numero di elementi del file;

      Legge tutti gli elementi necessari per riempire la matrice delle dimensioni thp. Il riempimento avviene in colonne. Il valore n (ma no!) può assumere il valore Inf.

La stringa di formato è composta da caratteri regolari e/o specificatori. Gli specificatori indicano il tipo di dati da leggere e includono il carattere %, opzione larghezza campo e caratteri di formato. I possibili caratteri di formato sono elencati nella tabella. 19.4.

Tabella 19.4. Formatta i caratteri usati da fscanf

Simbolo

Descrizione

Sequenza di caratteri; parametro larghezza campo determina il numero di caratteri da leggere

%D

Numero decimale

%e, %f, %g

numero in virgola mobile

%io

Intero con segno

%o

Numero ottale firmato

%S

Sequenza di caratteri diversi da spazi bianchi

%u

Intero decimale con segno

%X

Intero con segno esadecimale

[...]

Sequenza di caratteri

Tra carattere % e il carattere di formato, è consentito inserire i seguenti caratteri:

    Un asterisco (*) significa che il valore corrispondente non deve essere memorizzato nella matrice di output;

    Una stringa di numeri imposta larghezza massima campi;

    La lettera rappresenta la dimensione dell'oggetto risultante: h per un numero intero breve (ad esempio, %n d), 1 per un numero intero lungo (ad esempio, %ld) o per un numero a virgola mobile a precisione doppia (ad esempio, % lg ).

Esempi:

» x = 0:pi/10:pi:y-;

» fid = fopen "c:\sin.txt". V);

» fprintf(fid."X5.3f *10.6f\n".y):fclose(fid);

0.000 0.000000

0.314 0.309017

0.628 0.587785

0.942 0.809017

1.257 0.951057

1.571 1.000000

1.885 0.951057

2.199 0.809017

2.513 0.587785

2.827 0.309017

3.142 0.000000

» fid = fopen("c:\sin.txt"."r");

» q=fscanf(fid."*g".):

"Q"

ans =

0.3140 0.3090

0.6280 0.5878

0.9420 0.8090

1.2570 0.9511

1.5710 1.0000

1.8850 0.9511

2.1990 0.8090

2.5130 0.5878

2.8270 0.3090

» fgetl(fid)

ans=

3.142 0.000000

» fgets(fid)

ans=

» fclose(fid)

ans=

Posizionamento dei file

Durante la lettura e la scrittura di file, sono convenzionalmente rappresentati come dati disposti in modo lineare, simile alla registrazione su un nastro magnetico continuo. La posizione da cui è in corso la lettura (o la posizione da cui registrazione in corso), è determinato da uno speciale puntatore. I file ad accesso sequenziale vengono visualizzati rigorosamente dall'inizio alla fine e, nei file ad accesso casuale, il puntatore può essere posizionato ovunque da cui vengono scritti o letti i dati del file.

Pertanto, il puntatore fornisce il posizionamento del file. Esistono diverse funzioni di posizionamento:

    Eofstat = feof(fid) - controlla se è stata raggiunta la fine del file con id fid. Restituisce 1 se il puntatore si trova alla fine del file, 0 altrimenti;

    Messaggio = ferror(fid) - Restituisce i dettagli dell'errore come stringa di messaggio. L'argomento fid è un identificatore apri il file(si veda la funzione fopen per una descrizione dettagliata);

    Message = f error (f id,"clear") - cancella l'indicatore di errore per il file specificato;

    Ferror(.) - restituisce il numero di errore errnum ultima operazione I/O per il file specificato.

Se l'ultima operazione di I/O eseguita sul file specificato da fid è andata a buon fine, message è la stringa vuota ed errnum è 0.

Un valore errnum diverso da zero indica che si è verificato un errore durante l'ultima operazione di I/O. Il parametro message contiene una stringa contenente informazioni sulla natura dell'errore che si è verificato.

Esempio:

» fid=fopen("c:\esempio"."a+")

fid=

» t= fread(3,)

Matrice vuota: 4 per 0

» ferro(3)

ans=

Il file è aperto per la lettura? . . .

    frewind(fid) - imposta il puntatore di posizione all'inizio del file con l'identificatore fid;

    Status - fseekCfid,offset,origin) - imposta il puntatore nel file con l'identificatore fid alla posizione specificata - per byte, specificato dal parametro offset rispetto all'origine.

Argomenti:

    fid è l'identificatore del file restituito dalla funzione fopen;

    offset - un valore interpretato come segue:

    • offset>0 - cambia la posizione del puntatore in byte di offset verso la fine del file;

      offset=0 - non cambia la posizione del puntatore;

      compensare<0 - изменяет позицию указателя на offset байт в направлении к началу файла;

    Origin è un argomento che assume i seguenti valori:

    • "bof o -1 - l'inizio del file;

      "cof" o 0 - posizione corrente del puntatore nel file;

      "eof" o 1 - fine del file;

    status è l'argomento di output. Prende il valore 0 se l'operazione fseek ha avuto successo e -1 in caso contrario. Se si verifica un errore, utilizzare la funzione ferror per ulteriori informazioni;

    position=ftel I (fid) - restituisce la posizione del puntatore del file per il file con l'id fid ottenuto utilizzando la funzione fopen. L'argomento di output della posizione è un numero intero non negativo che specifica la posizione del puntatore in byte rispetto all'inizio del file. Se la richiesta non è andata a buon fine, position assume il valore -1. Utilizzare la funzione ferror per visualizzare la natura dell'errore.

Esempi:

» f id-fopen("с:\esempio"."a+")

fid=

» conteggio = fwrite(3,magic(6))

Conte = 36

» ftelK3)

ans=

» vento libero(3):ftell(3)

ans=

» fseek(3.12.0);ftell(3)

ans=

» feof(3)

ans=

» fclose(3)

ans=

    S=sprintf(format,A,...) - formatta i dati nella matrice A nel formato specificato dal parametro format e crea da essi una variabile stringa s;

    SprintfCformat,A....) - simile alla funzione precedentemente descritta, ma restituisce inoltre la stringa di errore errmsg se si è verificato un errore o una stringa vuota in caso contrario. La stringa di formato definisce il sistema numerico, l'allineamento, le cifre significative, la larghezza del campo e altri attributi del formato di output. Può contenere sia caratteri regolari che identificatori, caratteri di espansione e così via.La funzione fprintf si comporta come la funzione ANSI C equivalente fprintf 0, con alcune eccezioni ed estensioni.

Esempi:

» sprintfC"*0.5g".(l+sqrt(7))/4)

ans =

0.91144

» sprintfc "%S","Ehi")

ans =

Ehi

La funzione sscanf è simile alla funzione fscanf, tranne per il fatto che legge i dati da una variabile carattere di sistema MATLAB anziché da un file.

    A = sscanf (s, format) - legge i dati dalla variabile carattere s, li converte in base al valore di format e in base a questi dati crea la matrice A. Il parametro format determina il formato dei dati da leggere;

    A = sscanf(s, format, size) - legge la quantità di dati specificata dal parametro size e la converte in base alla stringa di formato. Il parametro size è un argomento che specifica la quantità di dati da leggere. I valori validi sono:

    • n - lettura di n elementi in un vettore colonna;

      inf - legge gli elementi fino alla fine della variabile carattere e li inserisce in un vettore colonna contenente lo stesso numero di elementi della variabile stringa;

      Legge tutti gli elementi necessari per riempire la matrice delle dimensioni thp. Il riempimento avviene in colonne. Il valore n (ma no!) può assumere il valore Inf.

    Sscanf(...) - legge i dati dalla variabile carattere s, li converte in base al valore di format e li restituisce alla matrice A. Il parametro count è un output.argument che restituisce il numero di elementi letti con successo; ermsg è un argomento di output che restituisce una stringa di errore se si è verificato un errore e una stringa vuota in caso contrario; nextindex è un argomento di output che contiene un numero maggiore di uno rispetto al numero di caratteri in s.

La stringa di formato è composta da caratteri normali e specificatori. Gli specificatori specificano il tipo di dati e includono un carattere %, opzione larghezza campo e caratteri di formato. Le spiegazioni possono essere trovate nella descrizione della funzione fscanf.

Esempio:

» s = "4,83 3,16 22 45";

» = sscanf(s. "%f")

A =

4.8300 - 3.1600

22.0000

45.0000

Err=

successivo =

File specializzati

Le funzioni seguenti sono per alcuni file specializzati:

    M = dlmread(nomefile, delimitatore) Legge i dati dal nome file con un delimitatore ASCII, utilizzando il delimitatore delimitatore, in un array M. Utilizzare "\t" i per specificare un carattere di tabulazione come delimitatore;

    M = dlmreadCfilename.delimiter,r.c) - legge i dati dal file nomefile con un delimitatore ASCII, utilizzando il delimitatore delimitatore, in un array M, a partire dall'offset r (per righe) e c (per colonne). I parametri r e c sono a base zero, quindi r=0, c=0 corrisponde al primo valore nel file;

    M = dlmreadCfilename, deli mi ten, r, c, range) - importa un intervallo indicizzato o denominato di dati delimitati da ASCII. Per utilizzare un intervallo di celle, è necessario definire il parametro dell'intervallo come intervallo = [TopRow. Colonna sinistra. BottomRow, RightColumn].

Gli argomenti della funzione dlmread sono i seguenti:

    Delimitatore: un carattere che separa i singoli elementi della matrice in un foglio di calcolo ASCII;

    (,) - separatore predefinito;

    R, c - cella del foglio di calcolo da cui vengono presi gli elementi della matrice corrispondenti agli elementi nell'angolo in alto a sinistra della tabella;

    intervallo: un vettore che definisce un intervallo di celle del foglio di calcolo.

Il comando dlmwrite converte una matrice MATLAB in un file delimitato ASCII leggibile dai programmi di foglio elettronico:

    Dl mwri te (f i 1 ename. A. delimitatore) - scrive la matrice A nella cella in alto a sinistra del foglio di calcolo del nome file, usando il delimitatore per separare gli elementi della matrice. Usa "U" per creare un file con elementi delimitati da tabulazioni. Tutti gli elementi con valore 0 vengono omessi. Ad esempio, una matrice apparirà nel file come "1., 2" (se il delimitatore è una virgola):

    dlmwrite(filename,A,delimiter, r,c) - Scrive la matrice A nel file nomefile, a partire dalla cella specificata da r e c, usando il delimitatore delimitatore;

    info=imfinfo(filename.fmt) - restituisce una struttura i cui campi contengono informazioni sull'immagine nel file grafico. L'argomento filename è una stringa che specifica il nome del file grafico, fmt è una stringa che specifica il formato del file. Il file deve trovarsi nella directory corrente o nella directory specificata nel percorso MATLAB. Se imflinfo non riesce a trovare un file chiamato nomefile, cerca un file chiamato nomefile.fmt.

In tavola. La Figura 19.5 mostra i possibili valori per l'argomento fmt.

Tabella 19.5. Formati grafici supportati e loro simboli

Se il nome del file è un file TIFF o HDF contenente più di un'immagine, allora 1 nf o è un array di strutture con un elemento separato (cioè una struttura individuale) per ogni immagine nel file. Ad esempio, info(3) conterrà quindi informazioni sulla terza immagine nel file. L'insieme dei campi nelle informazioni dipende dal file specifico e dal suo formato. Tuttavia, i primi nove campi sono sempre gli stessi. In tavola. 19.6 elenca questi campi e ne descrive il significato.

Tabella 19.6. Campi della struttura dell'informazione e loro significato

Campo Significato
nome del file Una stringa contenente il nome del file; se il file non è nella directory corrente, la riga contiene il percorso completo del file
FileModDate Una stringa contenente la data dell'ultima modifica del file
Dimensione del file Un numero intero che indica la dimensione del file in byte
Formato Una stringa contenente il formato del file specificato dal parametro fmt; per i file JPEG e TIFF, viene restituito un valore di tre caratteri
FormatVersione Una stringa o un numero che descrive la versione del formato
Larghezza Un numero intero che specifica la larghezza dell'immagine in pixel
Altezza Un numero intero che indica l'altezza dell'immagine in pixel
Profondità di bit Un numero intero che indica il numero di bit per pixel
tipo di colore Una stringa che descrive il tipo di immagine: "truecolor" per un'immagine RGB, "scala di grigi" per un'immagine in scala di grigi o "indicizzata" per un'immagine a colori indicizzata

    Info = imfinfo(nomefile) - tenta di determinare il formato del file dal contenuto. Esempio:

» info = irrifinfo("C:\exhibition\Internet.bmp")

informazioni=

Nome file: "C:\Esposizione\Internet.bmp"

Dimensione file: 481078

Formato: "bmp"

FormatVersion: "Versione 3 (Microsoft Windows 3.x)"

o un'immagine truecolor (RGB) della classe uint8, il comando imwrite scrive i valori effettivi dell'array in un file. Se A è di classe double, il comando imwrite sovrascrive i valori nell'array prima di scrivere, utilizzando la conversione uint8(round(255*A)). Questa operazione converte i numeri in virgola mobile nell'intervallo in numeri interi a 8 bit nell'intervallo . I valori validi per il parametro ftnt sono gli stessi utilizzati nel comando imfinfo;

    imwrite(X,map,filename,fmt) - scrive l'immagine indicizzata nell'array X e la sua mappa colori corrispondente nel nome del file. Se X contiene un'immagine della classe uint8, il comando imwrite scrive i valori effettivi dell'array in un file. Se X è di classe double, il comando imwrite sovrascrive i valori nell'array prima di scrivere, utilizzando la conversione uintS(X-l). La tavolozza della tara deve essere di classe doppia; la funzione imwrite ridefinisce i valori in tar utilizzando la conversione uint8(round (255*map));

    imwrite(....filename) - Scrive un'immagine in filename nel formato specificato dall'estensione del file. L'estensione può essere uno dei valori consentiti per il parametro fmt;

    imwrite(....Parameter, Value....) definisce i parametri che controllano varie proprietà del file di output. I parametri vengono utilizzati per file HDF, JPEG e TIFF;

    M = wklread(nomefile) - legge il foglio di calcolo Lotusl23 (WK1) nella matrice M;

    M = wklread(filename.r.c) - legge i dati a partire dalla cella definita da (r,c). I parametri r e c sono a base zero, quindi r=0, c=0 definiscono la prima cella del file;

    M = wklread(filename, r, c, range) - legge l'intervallo di valori specificato dal parametro range, dove l'intervallo può essere rappresentato in una delle seguenti forme:

    • un vettore a quattro elementi che definisce un intervallo di celle nel formato [riga_superiore. colonna_sinistra, riga_in basso, colonna_destra];

      un intervallo di celle definito da una stringa, come "A1...C5";

      il nome dell'intervallo, definito come una stringa, ad esempio "Vendite".

    wklwrite(filename.M) - scrive i valori della matrice M nel file nomefile del foglio di calcolo Lotus 123 WK1;

    wklwrite(filename,M,r,c) Scrive i dati a partire dalla cella specificata da (r,c). I parametri r e c sono a base zero, quindi r=0, c=0 definiscono la prima cella nel foglio di calcolo.

In tavola. 19.7 mostra i formati di immagine disponibili per la lettura dalla funzione imread. Gli elenchi dei parametri e i loro possibili valori per la funzione imwrite sono contenuti nella tabella. 19.8.

Va notato che la maggior parte delle funzioni discusse sopra sono utilizzate raramente dagli utenti. Ma sono abbastanza ampiamente utilizzati per scopi sistemici e sono di grande interesse per gli specialisti.

Tabella 19.7. Formati di file e loro breve descrizione

Formato Opzioni
BMP Immagini non compresse a 1 bit, 4 bit, 8 bit e 24 bit; Immagini a 4 e 8 bit con compressione RLE
HDF bitmap a 8 bit, con o senza una tavolozza di colori; bitmap a 24 bit
JPEG Qualsiasi immagine JPEG; Immagini JPEG con alcune estensioni di uso comune
PCX Immagini a 1 bit, 8 bit e 24 bit
TIFF Qualsiasi immagine TIFF, comprese le immagini non compresse !-bit, 8-bit e 24-bit; Immagini packbit a 1 bit, 8 bit e 24 bit; Immagini a 1 bit con compressione CCITT
XWD Zpixmap a 1 bit e 8 bit; XY bitmap; Mappe XYPix a 1 bit

Tabella 19.8. Opzioni utilizzate durante la scrittura di file grafici

Parametro Significato Valore predefinito
Opzioni per i file HDF
"compressione" Uno dei seguenti valori: "none", Vie", "jpeg" "le"
"Qualità" Un numero compreso tra 0 e 100; il parametro è supportato per "Compressione"="jpeg"; maggiore è il numero, maggiore è la qualità del file (minore distorsione del file durante la compressione) e maggiore è la sua dimensione 75
"Modalità scrittura" Uno dei seguenti valori: "sovrascrivi", "aggiungi" "sovrascrivere"
Opzioni per i file JPEG
"Qualità" Un numero compreso tra 0 e 100; maggiore è il numero, maggiore è la qualità del file (minore distorsione durante la compressione del file) e maggiore è la sua dimensione. 75
Opzioni per i file TIFF
"compressione" Uno dei seguenti valori: "none", "packbits", "ccitt"; il valore "ccitt" è valido solo per immagini binarie (a due colori). "ccitt" per immagini binarie; "packbits" per tutti gli altri
"Descrizione" Qualsiasi linea; il valore del campo ImageDescription viene restituito dal comando imfinfo Riga vuota
"Risoluzione" Valore scalare per la risoluzione nelle direzioni xey
72

Che cosa abbiamo imparato?

In questa lezione abbiamo imparato:

    Apri e chiudi file.

    Eseguire operazioni su file binari e formattati.

    Eseguire il posizionamento dei file.

    Applicare file personalizzati.

La causa più comune dei problemi di divulgazione dei file MATLAB è semplicemente la mancanza di applicazioni appropriate installate sul tuo computer. In questo caso, è sufficiente trovare, scaricare e installare un'applicazione che supporti i file in formato MATLAB: tali programmi sono disponibili di seguito.

Sistema di ricerca

Immettere l'estensione del file

Aiuto

richiesta

Si prega di notare che alcuni dati codificati da file che il nostro computer non legge a volte possono essere visualizzati nel Blocco note. In questo modo leggeremo frammenti di testo o numeri - Vale la pena verificare se questo metodo funziona anche nel caso di file MATLAB.

Cosa fare se l'applicazione dall'elenco è già stata installata?

Spesso un'applicazione installata dovrebbe collegarsi automaticamente ad un file MATLAB. Se non accade, il file MATLAB può essere collegato correttamente manualmente con un'applicazione recentemente installata. È sufficiente fare clic con il tasto destro del mouse sul file MATLAB, quindi tra quelli disponibili selezionare l'opzione "Scegli programma predefinito". Quindi devi selezionare l'opzione "Sfoglia" e trovare la tua applicazione preferita. Le modifiche apportate devono essere approvate con l'opzione "OK".

Programmi che aprono un file MATLAB

finestre

Perché non riesco ad aprire un file MATLAB?

I problemi con i file MATLAB possono anche avere altri motivi. A volte anche l'installazione di software che supporti i file MATLAB sul tuo computer non risolverà il problema. Il motivo dell'impossibilità di aprire, oltre a lavorare con il file MATLAB, può anche essere:

Collegamenti a file MATLAB incoerenti nelle iscrizioni del registro
- corruzione del file MATLAB che apriamo
- Infezione file MATLAB (virus)
- Risorsa informatica troppo piccola
- driver obsoleti
- rimozione dell'estensione MATLAB dal registro di sistema di Windows
- installazione incompleta di un programma che supporta l'estensione MATLAB

La risoluzione di questi problemi dovrebbe comportare l'apertura e il lavoro gratuiti con i file MATLAB. Nel caso in cui il computer abbia ancora problemi con i file, è necessario avvalersi dell'aiuto di un esperto che determinerà la causa esatta.

Il mio computer non mostra le estensioni dei file, cosa devo fare?

Nelle impostazioni di sistema standard di Windows, l'utente del computer non vede le estensioni dei file MATLAB. Questo può essere modificato con successo nelle impostazioni. Basta andare sul "Pannello di controllo" e selezionare "Visualizza e personalizzazione". Quindi è necessario accedere alle "Opzioni cartella" e aprire la "Visualizza". Nella scheda "Visualizza" è presente un'opzione "Nascondi le estensioni dei tipi di file noti" - è necessario selezionare questa opzione e confermare l'operazione premendo il pulsante "OK". A questo punto, tutte le estensioni di file, incluso MATLAB, dovrebbero apparire ordinate per nome file.

). Tra gli strumenti generici utilizzati in chemiometria, il pacchetto MatLab occupa un posto speciale. La sua popolarità è insolitamente alta. Questo perché MatLab è un'elaborazione dati multidimensionale potente e versatile. La struttura stessa del pacchetto lo rende uno strumento conveniente per eseguire calcoli matriciali. La gamma di problemi che possono essere studiati utilizzando MatLab include: analisi di matrici, elaborazione di segnali e immagini, reti neurali e molti altri. MatLab è un linguaggio open source di alto livello che consente agli utenti avanzati di comprendere algoritmi programmati. Un semplice linguaggio di programmazione integrato semplifica la creazione di algoritmi personalizzati. Per molti anni utilizzando MatLab, è stato creato un numero enorme di funzioni e ToolBox (pacchetti di strumenti specializzati). Il più popolare è il PLS ToolBox di Eigenvector Research, Inc.

1. Informazioni di base

1.1. Ambiente di lavoro MatLab

Fare doppio clic sull'icona per avviare il programma. L'ambiente di lavoro mostrato in figura si aprirà davanti a te.

Area di lavoro MatLab 6.x leggermente diverso dall'area di lavoro delle versioni precedenti, ha un'interfaccia più comoda per accedere a molti elementi ausiliari

Area di lavoro MatLab 6.x contiene i seguenti elementi:

    barra degli strumenti con pulsanti ed elenco a discesa;

    finestra con le schede di Launch Pad e Area di lavoro, da cui è possibile accedere ai vari moduli della ToolBox e ai contenuti del banco di lavoro;

    finestra a schede cronologia dei comandi e directory corrente, destinato alla visualizzazione e al richiamo di comandi immessi in precedenza, nonché all'impostazione della directory corrente;

    una finestra di comando che contiene una richiesta di immissione » e un cursore verticale lampeggiante;

    riga di stato.

Se l'ambiente di lavoro MatLab 6.x non ci sono finestre mostrate in figura, quindi dovresti selezionare le voci appropriate nel menu Visualizza: finestra di comando, Cronologia comandi , Directory corrente , Area di lavoro , Launch Pad .

I comandi devono essere digitati nella finestra dei comandi. Non è necessario digitare il simbolo » , che indica un invito a entrare nella riga di comando. Per visualizzare l'area di lavoro, è conveniente utilizzare le barre di scorrimento o i tasti Home , Fine , per spostarsi a sinistra oa destra e PagSu , PagGiù per spostarsi in alto o in basso. Se improvvisamente, dopo esserti spostato nell'area di lavoro della finestra di comando, la riga di comando con un cursore lampeggiante scompare, premi semplicemente Invio.

È importante ricordare che l'insieme di qualsiasi comando o espressione deve terminare premendo Invio affinché il programma MatLab esegua questo comando o valuti l'espressione.

1.2. I calcoli più semplici

Digita 1+2 sulla riga di comando e premi Invio. Di conseguenza, nella finestra di comando di MatLab viene visualizzato quanto segue:

Riso. 2 Rappresentazione grafica dell'analisi delle componenti principali

Cosa ha fatto il programma MatLab? Ha prima calcolato la somma 1+2 , quindi ha scritto il risultato nella variabile speciale ans e stampato il suo valore, 3 , nella finestra di comando. Sotto la risposta c'è una riga di comando con un cursore lampeggiante, che indica che MatLab è pronto per ulteriori calcoli. Puoi digitare nuove espressioni sulla riga di comando e trovarne i valori. Se si desidera continuare a lavorare con l'espressione precedente, ad esempio per calcolare (1+2)/4.5 , il modo più semplice è utilizzare il risultato già esistente, che è memorizzato nella variabile ans . Digitare ans/4.5 (viene utilizzato un punto quando si inseriscono i decimali) e premere accedere, si scopre

Riso. 3 Rappresentazione grafica dell'analisi delle componenti principali

1.3. Comando eco

L'esecuzione di ogni comando in MatLab è accompagnata da un'eco. Nell'esempio sopra, questa è la risposta ans = 0.6667 . Spesso l'eco rende difficile percepire il lavoro del programma e quindi può essere disattivato. Per fare ciò, il comando deve terminare con un punto e virgola. Per esempio

Riso. 4 Esempio di input della funzione ScoresPCA

1.4. Conservazione dell'ambiente di lavoro. file MAT

Il modo più semplice per salvare tutti i valori delle variabili è utilizzare la voce Salva spazio di lavoro con nome nel menu File. Viene visualizzata la finestra di dialogo Salva variabili workspace in cui viene chiesto di specificare una directory e un nome file. Per impostazione predefinita, si propone di salvare il file nella sottodirectory di lavoro della directory principale di MatLab. Il programma salverà i risultati del lavoro in un file con estensione mat. Ora puoi chiudere MatLab. Nella sessione successiva, per ripristinare i valori delle variabili, apri questo file salvato utilizzando la sottovoce Apri del menu File. Ora tutte le variabili definite nell'ultima sessione sono nuovamente disponibili. Possono essere usati nei comandi appena inseriti.

1.5. rivista

MatLab ha la capacità di scrivere comandi eseguibili e risultati in un file di testo (tenere un registro di lavoro), che può quindi essere letto o stampato da un editor di testo. Per avviare la registrazione, utilizzare il comando diario. Come argomento di comando diarioè necessario specificare il nome del file in cui verrà archiviato il registro di lavoro. I comandi digitati ulteriormente ei risultati della loro esecuzione verranno scritti in questo file, ad esempio una sequenza di comandi

esegue le seguenti azioni:

    apre il log nel file esempio-1.txt ;

    fa calcoli;

    salva tutte le variabili nel file MAT work-1.mat ;

    salva il log nel file expl-1.txt nella sottodirectory di lavoro della directory principale di MatLab e chiude MatLab;

Visualizza il contenuto del file examplel-1.txt in un editor di testo. Il file conterrà il seguente testo:

a1=3;
a2=2,5;
a3=a1+a2

Salva lavoro-1
uscire

1.6. Sistema di aiuto

La finestra della Guida di MatLab appare dopo aver selezionato l'opzione Finestra della Guida dal menu della Guida o premendo il pulsante della domanda sulla barra degli strumenti. La stessa operazione può essere eseguita digitando il comando helpwin. Per visualizzare una finestra della guida per singoli argomenti, digitare argomento helpwin. La finestra della guida fornisce le stesse informazioni del comando della guida, ma l'interfaccia a finestra semplifica il collegamento ad altri argomenti della guida. Utilizzando l'indirizzo della pagina Web di Math Works, puoi accedere al server di Math Works e ottenere le informazioni più recenti sui problemi di tuo interesse. Puoi controllare i nuovi prodotti software o trovare le risposte ai tuoi problemi nella pagina del supporto tecnico.

2. Matrici

2.1. Scalari, vettori e matrici

In MatLab puoi usare scalari, vettori e matrici. Per inserire uno scalare è sufficiente assegnarne il valore ad esempio ad una variabile

Nota che MatLab distingue tra lettere maiuscole e minuscole, quindi p e P sono variabili diverse. Per inserire gli array (vettori o matrici), i loro elementi sono racchiusi tra parentesi quadre. Quindi per inserire un vettore di riga di dimensione 1x3, viene utilizzato il comando seguente, in cui gli elementi della riga sono separati da spazi o virgole.

Quando si immette un vettore colonna, gli elementi sono separati da punto e virgola. Per esempio,

È conveniente inserire piccole matrici direttamente dalla riga di comando. Quando viene immessa, una matrice può essere vista come un vettore colonna, ogni elemento del quale è un vettore riga.

oppure una matrice può essere trattata come un vettore riga, ogni elemento del quale è un vettore colonna.

2.2. Accesso agli elementi

Gli elementi della matrice sono accessibili utilizzando due indici: numeri di riga e di colonna, racchiusi tra parentesi, ad esempio, il comando B(2,3) restituirà l'elemento della seconda riga e della terza colonna della matrice B . Per selezionare una colonna o una riga da una matrice, utilizzare il numero della colonna o della riga della matrice come uno degli indici e sostituire l'altro indice con i due punti. Ad esempio, scriviamo la seconda riga della matrice A nel vettore z

Puoi anche selezionare blocchi di matrici usando i due punti. Ad esempio, seleziona dalla matrice P il blocco contrassegnato con il colore

Se è necessario visualizzare le variabili dell'ambiente di lavoro, nella riga di comando è necessario digitare il comando chi .

Si può notare che l'ambiente di lavoro contiene uno scalare (p ), quattro matrici (A, B, P, P1 ) e un vettore riga (z ).

2.3. Operazioni di base sulle matrici

Quando si utilizzano operazioni di matrice, ricordare che per l'addizione o la sottrazione, le matrici devono essere della stessa dimensione e durante la moltiplicazione, il numero di colonne della prima matrice deve essere uguale al numero di righe della seconda matrice. L'addizione e la sottrazione di matrici, nonché di numeri e vettori, viene eseguita utilizzando i segni più e meno.

e la moltiplicazione è contrassegnata da un asterisco * . Introduciamo una matrice 3×2

Anche la moltiplicazione di una matrice per un numero viene eseguita utilizzando un asterisco e puoi moltiplicare per un numero sia a destra che a sinistra. L'elevazione di una matrice quadrata a una potenza intera viene eseguita utilizzando l'operatore ^

Verifica il risultato moltiplicando la matrice P per se stessa.

2.4. Creazione di matrici di un tipo speciale

Il riempimento di una matrice rettangolare con zeri viene eseguito dalla funzione incorporata zeri

La matrice di identità viene creata utilizzando la funzione occhio

Una matrice composta da uno si forma come risultato della chiamata della funzione quelli

MatLab offre la possibilità di riempire le matrici con numeri casuali. Risultato della funzione randè una matrice di numeri uniformemente distribuiti tra zero e uno, e le funzioni rand- matrice di numeri distribuiti secondo la legge normale con media nulla e varianza unitaria.

Funzione diag forma una matrice diagonale da un vettore, posizionando gli elementi in diagonale.

2.5. Calcoli matriciali

MatLab contiene molte funzioni diverse per lavorare con le matrici. Quindi, ad esempio, la trasposizione di una matrice viene eseguita utilizzando l'apostrofo "

La ricerca della matrice inversa viene eseguita utilizzando la funzione inv per matrici quadrate

3. Integrazione di MatLab ed Excel

L'integrazione di MatLab ed Excel consente all'utente di Excel di accedere a numerose funzioni MatLab per l'elaborazione dei dati, vari calcoli e la visualizzazione del risultato. Il componente aggiuntivo excllink.xla implementa questo miglioramento di Excel. Sono definite funzioni speciali per la connessione tra MatLab ed Excel.

3.1. Configurazione Excel

Prima di configurare Excel per funzionare con MatLab, assicurati che Excel Link sia incluso nella versione installata di MatLab. La sottodirectory exclink della directory principale MatLab o la sottodirectory toolbox deve contenere il file aggiuntivo excllink.xla . Avvia Excel e seleziona Componenti aggiuntivi dal menu Strumenti. Si aprirà una finestra di dialogo contenente informazioni sui componenti aggiuntivi attualmente disponibili. Utilizzando il pulsante Sfoglia, specificare il percorso del file excllink.xla. Una stringa apparirà nell'elenco dei componenti aggiuntivi nella finestra di dialogo. Excel Link 2.0 per l'uso con MatLab con la bandiera impostata. Fare clic su OK, il componente aggiuntivo richiesto è stato aggiunto a Excel.

Si noti che Excel ora ha una barra degli strumenti di collegamento Excel contenente tre pulsanti: putmatrix , getmatrix , evalstring . Questi pulsanti implementano le azioni di base necessarie per l'implementazione della relazione tra Excel e MatLab: lo scambio di dati di matrice e l'esecuzione di comandi MatLab dall'ambiente Excel. Quando si riavvia Excel, il componente aggiuntivo excllink.xla viene connesso automaticamente.

Il lavoro coordinato di Excel e MatLab richiede alcune impostazioni in più che sono accettate in Excel per impostazione predefinita (ma possono essere modificate). Dal menu Strumenti vai su Opzioni , si apre la finestra di dialogo Opzioni. Seleziona la scheda Generale e assicurati che il flag dello stile di riferimento R1C1 sia disattivato, ad es. le celle sono numerate A1 , A2 , ecc. Nella scheda Modifica, è necessario impostare il flag Sposta selezione dopo Invio.

3.2. Scambio di dati tra MatLab ed Excel

Avvia Excel, verifica che tutte le impostazioni necessarie siano state eseguite come descritto nella sezione precedente (MatLab deve essere chiuso). Immettere una matrice nelle celle da A1 a C3, utilizzare un punto per separare i decimali come richiesto da Excel.

Seleziona i dati della cella nel foglio e premi il pulsante putmatrix, viene visualizzata una finestra di Excel con un avviso che MatLab non è in esecuzione. Fare clic su OK , attendere l'apertura di MatLab.

Viene visualizzata una finestra di dialogo di Excel con una riga di input per specificare il nome della variabile dell'area di lavoro MatLab in cui devono essere esportati i dati dalle celle di Excel selezionate. Immettere, ad esempio, M e chiudere la finestra con il pulsante OK. Vai alla finestra di comando di MatLab e assicurati che la variabile M sia stata creata nell'area di lavoro, contenente un array tre per tre:

Esegui alcune operazioni in MatLab con la matrice M , ad esempio, invertila.

Chiamata inv per invertire una matrice, come qualsiasi altro comando MatLab, può essere fatto direttamente da Excel. Premendo il pulsante evalstring che si trova nel pannello di collegamento di Excel viene visualizzata una finestra di dialogo, nella riga di input della quale è necessario digitare il comando MatLab

IM=inv(M) .

Il risultato è simile a quello ottenuto eseguendo il comando nell'ambiente MatLab.

Torna a Excel, imposta la cella A5 come cella corrente e fai clic sul pulsante getmatrix. Viene visualizzata una finestra di dialogo con una riga di input in cui è necessario inserire il nome della variabile da importare in Excel. In questo caso, la variabile è IM . Fare clic su OK , gli elementi della matrice inversa vengono inseriti nelle celle da A5 a A7.

Quindi, per esportare una matrice in MatLab, devi selezionare le celle appropriate del foglio Excel e per importare devi solo specificare una cella, che sarà l'elemento in alto a sinistra dell'array importato. Gli elementi rimanenti verranno scritti nelle celle del foglio in base alla dimensione dell'array, sovrascrivendo i dati in essi contenuti, quindi dovresti prestare attenzione quando importi gli array.

L'approccio sopra è il modo più semplice per scambiare informazioni tra le applicazioni: i dati di origine sono contenuti in Excel, quindi esportati in MatLab, elaborati lì in qualche modo e il risultato viene importato in Excel. L'utente trasferisce i dati utilizzando i pulsanti della barra degli strumenti di Excel Link. Le informazioni possono essere presentate sotto forma di una matrice, ad es. area rettangolare del foglio di lavoro. Le celle disposte in una riga o in una colonna vengono esportate rispettivamente in vettori di riga e vettori di colonna in MatLab. Allo stesso modo, si verifica l'importazione di vettori di riga e vettori di colonna in Excel.

4. Programmazione

4.1. File M

Lavorare dalla riga di comando di MatLab è difficile se devi inserire molti comandi e cambiarli spesso. Tenere un diario con un comando diario e il mantenimento dell'ambiente di lavoro rendono il lavoro leggermente più facile. Il modo più conveniente per eseguire gruppi di comandi MatLab è utilizzare M-file, in cui è possibile digitare comandi, eseguirli tutti in una volta o in parti, salvarli in un file e utilizzarli in seguito. L'editor di file M è progettato per funzionare con i file M. Con esso, puoi creare le tue funzioni e chiamarle, anche dalla finestra dei comandi.

Espandi il menu File della finestra principale di MatLab e nella voce Nuovo seleziona la sottovoce M-file . Il nuovo file si apre nella finestra dell'editor di file M mostrata in figura.

Esistono due tipi di file M in MatLab: file di programma ( Script di file M) contenente una sequenza di comandi e un file di funzione, ( Funzione M-File) che descrivono le funzioni definite dall'utente.

4.2. File di programma

Digitare nell'editor i comandi che portano alla costruzione di due grafici su una finestra grafica

Salva ora il file con il nome mydemo.m nella sottodirectory di lavoro della directory principale di MatLab selezionando la voce Salva con nome dal menu File dell'editor. Per eseguire tutti i comandi contenuti nel file, selezionare la voce Esegui dal menu Debug. Sullo schermo apparirà una finestra grafica. Figura 1, contenente grafici di funzioni.

I comandi del programma file vengono inviati alla finestra dei comandi. Per sopprimere l'output, terminare i comandi con un punto e virgola. Se viene commesso un errore durante la digitazione e MatLab non riesce a riconoscere il comando, i comandi vengono eseguiti fino a quello inserito in modo errato, dopodiché viene visualizzato un messaggio di errore nella finestra dei comandi.

Una funzionalità molto comoda fornita dall'editor di file M è l'esecuzione di parte dei comandi. Chiudere la finestra grafica Figura 1. Selezionare con il mouse tenendo premuto il pulsante sinistro o con i tasti freccia tenendo premuto il tasto Spostare, i primi quattro comandi ed eseguirli dalla voce Testo. Si noti che nella finestra grafica è stato visualizzato un solo grafico, corrispondente ai comandi eseguiti. Ricorda che per eseguire alcuni comandi devi selezionarli e premere il tasto F9.

È possibile fornire blocchi separati del file M con commenti che vengono saltati durante l'esecuzione, ma sono utili quando si lavora con il file M. I commenti iniziano con un segno di percentuale e vengono automaticamente evidenziati in verde, ad esempio:

L'apertura di un file M esistente viene eseguita utilizzando la voce Apri del menu File dell'ambiente di lavoro o l'editor di file M.

4.3. funzione di file

Il file-programma considerato sopra è solo una sequenza di comandi MatLab, non ha argomenti di input e output. Per utilizzare metodi numerici e quando si programmano le proprie applicazioni in MatLab, è necessario essere in grado di comporre funzioni di file che eseguano le azioni necessarie con argomenti di input e restituiscano il risultato dell'azione negli argomenti di output. Diamo un'occhiata ad alcuni semplici esempi per capire come lavorare con le funzioni dei file.

Quando si preelaborano dati di analisi multivariati, la chemiometria utilizza spesso la centratura. Ha senso scrivere un file di funzione una volta e poi chiamarlo ovunque sia necessaria la centratura. Apri un nuovo file nell'editor di file M e digita

La parola funzione sulla prima riga specifica che questo file contiene un file di funzione. La prima riga è l'intestazione della funzione, che contiene il nome della funzione e l'elenco degli argomenti di input e output. Nell'esempio, il nome della funzione è centering , un argomento di input è X e un argomento di output è Xc. L'intestazione è seguita da commenti, quindi il corpo della funzione (in questo esempio è costituito da due righe), in cui viene calcolato il suo valore. È importante che il valore calcolato venga scritto in Xc . Non dimenticare di includere un punto e virgola per evitare che sullo schermo vengano visualizzate informazioni ridondanti. Ora salva il file nella tua directory di lavoro. Si noti che selezionando Salva o Salva con nome dal menu File viene visualizzata una finestra di dialogo di salvataggio del file, il cui campo Nome file contiene già la centratura del nome. Non cambiarlo, salva il file della funzione in un file con il nome suggerito!

Ora la funzione creata può essere utilizzata allo stesso modo del built-in sin , cos e altri. Il richiamo delle proprie funzioni può essere effettuato da un file-programma e da un'altra funzione-file. Prova a scrivere tu stesso un file di funzione che ridimensionerà le matrici, ad es. dividere ciascuna colonna per la deviazione standard per quella colonna.

È possibile scrivere un file di funzione con più argomenti di input, che vengono inseriti in un elenco separato da virgole. Puoi anche creare funzioni che restituiscono più valori. Per fare ciò, gli argomenti di output vengono aggiunti, separati da virgole, all'elenco degli argomenti di output e l'elenco stesso è racchiuso tra parentesi quadre. Un buon esempio è una funzione che converte un tempo espresso in secondi in ore, minuti e secondi.

Quando si chiamano funzioni di file con più argomenti di output, il risultato deve essere scritto su un vettore della lunghezza appropriata.

4.4 Creazione di un grafico

MatLab offre ampie opportunità per la rappresentazione grafica di vettori e matrici, nonché per la creazione di commenti e la stampa di grafici. Diamo una descrizione di alcune importanti funzioni grafiche.

Funzione complotto ha varie forme associate ai parametri di input, ad esempio plot(y) produce un grafico lineare a tratti di y elementi rispetto ai loro indici. Se vengono forniti due vettori come argomenti, plot(x,y) traccerà y rispetto a x . Ad esempio, per tracciare la funzione sin nell'intervallo da 0 a 2π, faremo quanto segue

Il programma ha costruito un grafico delle dipendenze, che viene visualizzato nella finestra Figura 1

MatLab assegna automaticamente un colore diverso a ciascun grafico (tranne quando l'utente lo fa), il che rende possibile distinguere i set di dati.

Comando aspettare consente di aggiungere curve a un grafico esistente. Funzione sottotrama consente di visualizzare più grafici in una finestra

4.5 Stampa di grafici

La voce Stampa nel menu File e il comando Stampa stampa grafica MatLab. Il menu Stampa fa apparire una finestra di dialogo che consente di selezionare le opzioni di stampa standard comuni. Comando Stampa offre maggiore flessibilità nell'output dei dati e consente di controllare la stampa da file M. Il risultato può essere inviato direttamente alla stampante predefinita o salvato in un file predefinito.

5. Esempi di programmi

Questa sezione elenca gli algoritmi più comuni utilizzati nell'analisi di dati multivariati. Vengono presi in considerazione sia i metodi più semplici di trasformazione dei dati - centratura e ridimensionamento, sia gli algoritmi per l'analisi dei dati - PCA e PLS.

5.1. Centratura e ridimensionamento

Spesso l'analisi richiede la trasformazione dei dati di origine. I metodi di trasformazione dei dati più comunemente usati sono la centratura e il ridimensionamento di ciascuna variabile in base alla deviazione standard. Nella funzione è stato dato il codice per centrare la matrice. Pertanto, di seguito viene mostrato solo il codice della funzione, che bilancia dati. Si noti che la matrice originale deve essere centrata

funzione Xs = ridimensionamento(X)
Ridimensionamento %: la matrice di output è Xs
La matrice % X deve essere centrata

Xs = X * inv(diag(std(X)));

%fine del ridimensionamento

5.2. SVD/PCA

Il modo più diffuso per comprimere i dati nell'analisi multivariata è l'analisi dei componenti principali (PCA). Da un punto di vista matematico, PCA è una scomposizione della matrice originale X, cioè. rappresentandolo come un prodotto di due matrici T e P

X = TP t+ e

La matrice Tè chiamata matrice dei punteggi (punteggi), la matrice è la matrice dei residui.

Il modo più semplice per trovare le matrici T e P- utilizzare la scomposizione SVD tramite una funzione MatLab standard chiamata svd .

funzione = pcasvd(X)

Svd(X);
T=U*D;
P=V;

%fine pcasvd

5.3 PCA/NIPALI

Per creare punteggi e carichi PCA, viene utilizzato l'algoritmo ricorsivo NIPALS, che calcola un componente per ogni passaggio. Innanzitutto la matrice originale X viene trasformato (almeno - centrato; vedi) e si trasforma in una matrice e 0 , un=0. Successivamente, viene applicato il seguente algoritmo.

T 2. P t = T T eun / T T T 3. P = P / (P T P) ½ 4. T = eun P / P T P 5. Verifica la convergenza, in caso contrario vai a 2

Dopo aver calcolato il prossimo ( un th) componenti, assumiamo Tun=T e Pun=P e un+1 = eunT P un sul un+1.

Il codice dell'algoritmo NIPALS può essere scritto dai lettori stessi, in questo manuale gli autori presentano la propria versione. Quando si calcola il PCA, è possibile inserire il numero dei componenti principali (variable numberPC ). Se non è noto quanti componenti sono necessari, dovresti scrivere sulla riga di comando = pcanipals (X) e quindi il programma imposterà il numero di componenti uguale alla più piccola delle dimensioni della matrice originale X.

funzione = pcanipals(X, numeroPC)

% calcolo del numero di componenti
= taglia(X); P=; T=;

Se lunghezza(numeroPC) > 0
pc = numeroPC(1);
elseif (lunghezza(numeroPC) == 0) & X_r< X_c
pc = X_r;
altro
pc = X_c;
fine;

per k = 1:pz
P1 = rand(X_c, 1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1))"; P1 = P1/norma(P1); T1 = X * P1; d = T1" * T1;

Mentre d - d0 > 0,0001;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1=X*P1; d = T1"*T1;
fine

X = X - T1 * P1; P = cat(1, P, P1"); T = ;
fine

Scopri come calcolare la PCA con il componente aggiuntivo Chemometrics nel tutorial

5.4PLS1

Il metodo più popolare per la calibrazione multivariata è il metodo della proiezione su strutture latenti (PLS). Questo metodo esegue la scomposizione simultanea della matrice predittiva X e matrici di risposta Y:

X=TP t+ e Y=UQ t+ F T=XW(P T w) –1

La proiezione è costruita in modo coerente, in modo da massimizzare la correlazione tra i vettori corrispondenti X-conti Tun e Y-conti tuun. Se il blocco dati Y include più risposte (es. K>1), è possibile costruire due proiezioni dei dati iniziali – PLS1 e PLS2. Nel primo caso, per ciascuna delle risposte y K viene costruito il proprio sottospazio di proiezione. Allo stesso tempo, i conti T (u) e carichi P (w, Q) dipendono dalla risposta utilizzata. Questo approccio è chiamato PLS1. Per il metodo PLS2, viene creato un solo spazio di proiezione, comune a tutte le risposte.

In questo libro viene fornita una descrizione dettagliata del metodo PLS. Per costruire punteggi e carichi PLS1, viene utilizzato un algoritmo ricorsivo. Innanzitutto le matrici originali X e Y centro

= mc(X);
= mc(Y);

e si trasformano in una matrice e 0 e vettore F 0 , un=0. Quindi viene applicato il seguente algoritmo

1. w t = Fun T e un 2. w = w / (w T w) ½ 3. T = eun w 4. Q = T T Fun / T T T 5. tu = QFun / Q 2 6. P t = T T eun / T T T

Dopo aver calcolato il prossimo ( un th) componenti, assumiamo Tun=T e Pun=P. Per ottenere il componente successivo, devi calcolare i resti e un+1 = eunT P t e applica loro lo stesso algoritmo, sostituendo l'indice un sul un+1.

Ecco il codice per questo algoritmo, tratto dal libro

funzione = pls(x, y)
%PLS: calcola un componente PLS.
%I vettori di output sono w, t, u, q e p.
%
% Scegli un vettore da y come vettore iniziale u.

u = y(:, 1);

% Il criterio di convergenza è molto alto.
cri = 100;

% I comandi da qui alla fine vengono ripetuti fino alla convergenza.
mentre (cri > 1e - 10)

% Ogni vettore iniziale u viene salvato come uold.
vecchio = u; w = (u" * x)"; w = w/norma(w);
t = x*w; q = (t" * y)"/(t" * t);
u = y * q/(q" * q);

% Il criterio di convergenza è la norma di uold divisa per la norma di u.
kri = norma(uold - u)/norma(u);
fine;

% Dopo la convergenza, calcolare p.
p = (t" * x)"/(t" * t);

% Fine dei pl

Informazioni sul calcolo di PLS1 con il componente aggiuntivo ChemiometriaAggiungere descritto nel manuale Metodi di proiezione in Excel.

5.5PLS2

Per PLS2, l'algoritmo è il seguente. Innanzitutto le matrici originali X e Y trasformano (almeno - centro; vedi) e si trasformano in matrici e 0 e F 0 , un=0. Quindi viene applicato il seguente algoritmo.

1. Scegli un vettore iniziale tu 2. w t = tu T e un 3. w = w / (w T w) ½ 4. T = eun w 5. Q t = T T Fun / T T T 6. tu = Fun Q/ Q T Q 7. Verificare la convergenza, in caso contrario, passare a 2 8. P t = T T eun / T T T

Dopo aver calcolato il prossimo ( un th) I componenti PLS2 devono essere inseriti: Tun=T, Pun=p,wun=w, tuun=tu e Q un = Q. Per ottenere il componente successivo, devi calcolare i resti e un+1 = euntp t e Fun +1 = F untq t e applica loro lo stesso algoritmo, sostituendo l'indice un sul un+1.

Ecco il codice, anch'esso preso in prestito dal libro.

funzione = pls(x, y, a)
% PLS: calcola un componente PLS.
% Le matrici di output sono W, T, U, Q e P.
% B contiene i coefficienti di regressione e SS le somme di
% quadrati per i residui.
% a è il numero di componenti.
%
% Per un componente: usa tutti i comandi per terminare.

Per i=1:a
% Calcola la somma dei quadrati. Utilizzare la funzione ss.
sx = ;
si = ;

% Utilizzare la funzione pls per calcolare un componente.
= pls(x, y);

% Calcolare i residui.
x = x - t * p";
y = y - t * q";

% Salva i vettori nelle matrici.
W = ;
T = ;
U = ;
Q = ;
P = ;
fine;

% Calcola i coefficienti di regressione dopo il ciclo.
B=W*inv(P"*W)*Q";

% Somma la SS residua finale alla somma dei vettori quadrati.
sx=;
si=;

% Crea una matrice dei vettori ss per X e Y.
SS = ;

%Calcola la frazione di SS utilizzata.
= taglia (SS);
tt = (SS * diag(SS(1,:).^(-1)) - quelli(a, b)) * (-1)

%Fine di plsr

funzione = ss(x)
%SS: calcola la somma dei quadrati di una matrice X.
%

ss=somma(somma(x. * x));
%fine ss

Informazioni sul calcolo di PLS2 con il componente aggiuntivo ChemiometriaAggiungere descritto nel manuale Metodi di proiezione in Excel.

Conclusione

MatLab è uno strumento di analisi dei dati molto popolare. Secondo il sondaggio, fino a un terzo di tutti i ricercatori lo utilizza, mentre il programma Unsrambler è utilizzato solo dal 16% degli scienziati. Lo svantaggio principale di MatLab è il suo alto prezzo. Inoltre, MatLab è utile per i calcoli di routine. La mancanza di interattività rende scomodo l'esecuzione di ricerche, calcoli di ricerca per nuovi array di dati inesplorati.

Articoli correlati in alto