Sei sulla pagina 1di 8

MATLAB

Alessandra Celletti
Dipartimento di Matematica Universit di Roma Tor Vergata celletti@mat.uniroma2.it http://www.mat.uniroma2.it/celletti

1. Introduzione
MATLAB = MATrix LABoratory; la struttura dati di base la matrice, perch ogni variabile trattata come una matrice m x n. Quindi le matrici non devono essere dichiarate. Esistono molte built-in functions, che consentono di eseguire operazioni complesse in tempi rapidi, ad esempio autovalori, autovettori, soluzioni di sistemi diagonali, LU, QR, SVD, ecc. Toolbox e Simulink sono estensioni del pacchetto originario. NOVITA: Toolbox Optimization

Finestre e precisione
Command window: istruzioni interattive Command history: storia dei comandi (drag o double click) Workspace: mostra tutte le variabili (plot) Editor: editore di testo di nome.m Attenzione: si fa differenza tra maiuscole e minuscole. Tutte le operazioni sono eseguite in doppia precisione 64 bit = 16 cifre decimali Variabile vuota: a=[ ] con 0 bit.

Diary e sistema operativo


Per salvare una cronaca completa della sessione di lavoro, usare ALLINIZIO diary: >> diary nome.dat >> a=3; >> diary off Il file di testo nome.dat NON contiene il contenuto delle variabili, per le quali si deve salvare tutta larea di memoria: >> save nome nome.mat oppure >> save nome2 a b nome2.mat contiene a, b. Per eseguire istruzioni del sistema operativo: >> !copy c:\... (ovvero premettere !) >> !more nome.dat

Who, Who , format, char, char, clear, clear, save


who variabili whos nome size bytes class (precisione) format: (digitare format long o altre istruzioni) default = = format short = 5 cifre decimali long = 15 cifre decimali short e = 5 cifre decimali e virgola mobile long e = 15 cifre decimali e virgola mobile rat = razionale Classe CHAR: >> u=ciao CLEAR: clear a, b oppure clear all save dati genera dati.mat oppure load dati

Scalari e variabili predefinite


Scalari: +,-,*,/,^ , \ con a\b=b/a, (a+b*i)=a-b*i Variabili predefinite: pi = 3.141592654 i = unit immaginaria j = 0+1*i NAN = Not A Number (divisione per zero) Inf = infinito eps = 2.2204e-16 il pi piccolo numero rappresentabile nellunit aritmetica del calcolatore, tale che la somma della macchina con 1 restituisce un valore maggiore di 1 i, pi, Inf, sin, cos, tan, asin, acos, sinh, cosh, asinh, acosh, sqrt, log, log10, exp, mod, rem (divisione modulo)

Editore
MATLAB un linguaggio interpretato e non compilato, a differenza di C, Fortran, ecc. Quindi non viene creato un file eseguibile, a partire dal sorgente, ma il codice viene eseguito riga per riga. Qualunque editore di testo pu essere usato; MATLAB ha un proprio editore: File Nuovo M-file oppure selezionare le istruzioni in Command history e poi con il tasto dx selezionare Create M-file Gli M-files DEVONO avere estensione .m. Come vedremo successivamente, si dividono in functions and scripts Per eseguire il programma selezionare il tasto verde oppure digitare run nomefile

Esempio editore
Per provare come funziona leditore e come si esegue un programma, scrivere le seguenti istruzioni (il cui significato verr chiarito in seguito): for k=1:10 x=1:100*(k-1) y=log(x) plot(x,y) end