advertisement

Alfabetizzazione Matlab Parte 1

60 %
40 %
advertisement
Information about Alfabetizzazione Matlab Parte 1
Entertainment

Published on March 4, 2014

Author: moodindigo70

Source: authorstream.com

advertisement

Parte 1 Tutorial – Definizioni preliminari: Sommario - Caratteristiche Principali – Assegnazione di variabili - Scrittura e manipolazione di matrici e vettori - Funzioni predefinite in Matlab - Operazioni elementari con scalari e matrici - Risoluzione equazioni lineari - Funzioni vettorizzate ed operatori Miscellanea Gestione cartelle Parte 1 Tutorial – Definizioni preliminari PowerPoint Presentation: 2 Matlab è l’acronimo di Mat rix Lab oratory E’ un programma che lavora prevalentemente con matrici : qualunque oggetto introdotto è manipolato come se fosse una matrice E’ ideale per: Sistemi lineari Ha delle eccellenti capacità grafiche E’ relativamente facile da usare È un linguaggio interpretato e non compilato : le istruzioni sono tradotte in linguaggio macchina Lento rispetto ai linguaggi di programmazione classici (Fortran, C ++ etc.) Ha una varietà di comandi aggiuntivi in grado di eseguire le operazioni più complesse (I Toolbox ) E’ un software numerico , non simbolico PowerPoint Presentation: 3 Matlab® è un software versatile che può essere usato a differenti livelli: Scrittura in linea delle istruzioni dalla finestra di comando principale. Implementazione di programmi tramite scrittura di m-file che possono essere: di tipo batch di tipo function Interfaccia di Matlab®: 4 Interfaccia di Matlab® All’avvio, il programma si presenta nella seguente forma Finestra dei comandi Le istruzioni devono essere digitate in questa finestra. Primi passi: assegnazione variabili: Primi passi: assegnazione variabili Le variabili sono sempre trattate in forma di vettore e/o matrice Come si fa ad introdurre una variabile: In Matlab non è necessario definire il tipo delle variabili Per vedere quali sono le variabili presenti nella nostra sessione di lavoro è possibile usare i comandi who e whos 5 Il comando “=“ è utilizzato per assegnare ad una variabile (nel nostro caso “a”) un valore (in questo caso “2”) prompt dei comandi Come si aggiorna la finestra: 6 Come si aggiorna la finestra Storia dei comandi Variabili definite nell’attuale ambiente di lavoro di Matlab ® ( workspace ) Cartella corrente in cui Matlab ® sta lavorando: IMPORTANTE! Matlab® interpreta la variabile “ a ” come una matrice di dimensioni 1 ×1 PowerPoint Presentation: 7 Una volta assegnato un valore ad una variabile esso rimane in memoria, sino a quando l’utente non interviene: Assegnando un altro valore alla stessa variabile Cancellando il valore della variabile con il comando clear Per cancellare tutte le variabili presenti nella sessione si può usare il comando clear all Il “;” alla fine del comando evita la stampa su video del risultato dell’operazione Creazione matrici e/o vettori: Sintassi: Creazione matrici e/o vettori: Sintassi Per Matlab ® lo scalare è un caso particolare di matrice di dimensioni (1x1) Analogamente il vettore è una matrice di una sola riga (o colonna) Esempio: Crea un vettore riga di 4 elementi (0,1,2,3) In modo equivalente è possibile creare un vettore colonna. Esempio: 8 » x=[0,1,2,3]; » Le matrici sono racchiuse dai caratteri “ [ “ e “ ] ” Matrici e vettori: Sintassi: Matrici e vettori: Sintassi Riassumendo: Le righe sono separate dal carattere punto e virgola “;” Gli elementi di una riga sono separati dalla virgola (o, equivalentemente, dallo spazio) Esempio: E’ chiaro che le matrici introdotte devono essere sintatticamente corrette. 9 Creazione vettori: Casi particolari: 10 Creazione vettori: Casi particolari La seguente istruzione crea un vettore riga le cui componenti aumentano aritmeticamente: Le componenti possono anche cambiare con passi non unitari. >> x = [1:3:11] x = 1 4 7 10 Manipolazioni di matrici: 11 Manipolazioni di matrici Gli oggetti matriciali possono essere maneggiati in modo abbastanza semplice. È possibile estrarre elementi da una matrice e/o un vettore. >> A = [4,6,3]; >> A(2) ans = 6 Manipolazioni di matrici: 12 Manipolazioni di matrici È possibile cambiare valore ai singoli elementi di una matrice: >> A(2,2) = 10 A = 1 2 3 4 10 6 Manipolazioni di matrici: 13 Manipolazioni di matrici È possibile anche estrarre più elementi da una matrice Con questa scrittura estraggo gli elementi della matrice che vanno: dalla prima alla seconda riga dalla seconda alla terza colonna Il nuovo oggetto è una matrice (2 ×2) >> B = [1,2,3;4,5,6;7,8,9]; >> B( 1:2 , 2:3 ) ans = 2 3 5 6 Manipolazioni di matrici: 14 Manipolazioni di matrici Per estrarre tutte le righe e/o le colonne di una matrice si usa il simbolo “:” da solo Esempi: >> B(:,1) ans = 1 4 7 Estrae le prima colonna (1) della matrice con tutte le righe >> B(2,:) ans = 4 5 6 Estrae le seconda riga (2) della matrice con tutte le colonne Manipolazioni di matrici: 15 Manipolazioni di matrici È possibile anche creare unioni di matrici e vettori Da notare che l’uso del separatore “;” al posto di “,” porta alla scrittura di un altro oggetto >> C =[4,5,6]; >> [A,C] ans = 4 6 3 4 5 6 >> [A;C] ans = 4 6 3 4 5 6 Manipolazioni di matrici: 16 Manipolazioni di matrici Riassumendo, il separatore “,” aggiunge delle colonne a sinistra delle preesistenti, il separatore “;” aggiunge delle righe al di sotto. Ovviamente, le espressioni devono essere sintatticamente corrette. PowerPoint Presentation: 17 Matlab è in grado di riconoscere le espressioni basilari matematiche >> pi (pi greco) >> i (unità immaginaria, può anche essere usato j) >> e=exp(1) (numero di Nepero) Un numero complesso può essere facilmente rappresentato: PowerPoint Presentation: 18 Matlab è in grado di gestire una infinità di funzioni predefinite. Alcuni esempi: >> sqrt(2) >> log(2) >> sin(pi) >> cos(pi) etc. etc. Come mai non è esattamente uguale a 0 ? PowerPoint Presentation: 19 Per ogni dubbio ed ignoranza, Matlab è dotato di un aiuto in linea molto utile per qualunque perplessità e consente di imparare il software in modo interattivo e veloce. help comando Visualizza la sintassi e lo scopo del comando richiamato lookfor oggetto Ricerca, in tutti i comandi predefiniti di Matlab, quelli in cui compare l’oggetto richiamato PowerPoint Presentation: 20 Esempio: Nota: i comandi di Matlab nella guida in linea sono sempre scritti in maiuscolo, ma si usano sempre in minuscolo Matlab è case-sensitive PowerPoint Presentation: 21 Analogamente per lookfor : lookfor consente la ricerca di tutti i comandi che contemplano la presenza dell’oggetto che cerchiamo Le istruzioni lookfor ed help permettono un’ottima conoscenza del software in modo autodidattico Operazioni elementari: 22 Operazioni elementari Matlab consente di fare le operazioni elementari su scalari in modo semplice Operazioni elementari con Matrici: 23 Operazioni elementari con Matrici Le operazioni possono essere estese in modo immediato ai vettori. Esercizio: Si creino tre matrici: Verificare quali delle seguenti operazioni sono corrette e quali no: A+B, A+C, A*C, C*A Il prodotto applicato alle matrici è il prodotto riga per colonna. Operazioni elementari con Matrici: 24 Operazioni elementari con Matrici Oltre alle operazioni introdotte Matlab è provvisto anche di operazioni sui singoli elementi di matrici e o vettori. Questo tipo di operazioni si ottiene aggiungendo un “.” prima del segno di operazione desiderato. Esempio: per moltiplicare tra di essi i singoli elementi di due vettori delle stesse dimensioni: >> A = [1,2,3]; >> B = [1,2,3]; Siamo interessati al vettore C prodotto dell’i-esimo elemento di A con l’i-esimo elemento di B Operazioni elementari con Matrici: 25 Operazioni elementari con Matrici La sintassi corretta è: Analogamente: Da notare il punto prima del simbolo di operazione Trasposta di una matrice: 26 Trasposta di una matrice L’apice “ ‘ ” crea la trasposta di un oggetto Nel caso che la matrice sia immaginaria, l’operazione restituisce la trasposta coniugata Nel caso si fosse interessati alla trasposta semplice, l’operatore da usare è: “ .’ ” Esercizi: 27 Esercizi Sia dato il seguente vettore: x = [2 5 1 6] Aggiungere 2 ad ogni elemento Calcolare la radice quadrata di ogni elemento del vettore Calcolare la potenza cubica di ogni elemento del vettore Aggiungere 3 solo agli elementi del vettore in posizione dispari Miscellanea – Creazione matrici particolari: 28 Miscellanea – Creazione matrici particolari zeros (m,n) crea una matrice mxn di zeri ones (m,n) crea una matrice mxn di valori unitari eye (n) crea una matrice identità di dimensioni nxn diag (v) (dove è un vettore di dimensioni n) crea una matrice diagonale di dimensione (nxn) i cui elementi sulla diagonale sono le componenti del vettore v Esempio di applicazione: Risoluzione equazioni lineari: 29 Esempio di applicazione: Risoluzione equazioni lineari È possibile risolvere sistemi di equazioni lineari in modo semplice con l’introduzione di un nuovo operatore divisione: “\” Esempio: Si consideri il sistema di equazioni lineari: Può essere scritto in forma matriciale: Esempio di applicazione: Risoluzione equazioni lineari: 30 Esempio di applicazione: Risoluzione equazioni lineari Dove: Per determinare i valori di x, si effettua l’operazione: >> A=[sqrt(2),pi,1;1,sqrt(3),4;1,pi,pi]; >> b=[0; - 1;2]; >> Da notare che il vettore b è un vettore colonna Nota : l’operazione x=A\b è ben diversa dall’operazione x=inv(A)*b I risultati sono gli stessi, ma la procedura è differente >> x = A\b x = -4.7566 2.1368 0.0139 >> Creazione vettori: Casi particolari: 31 Creazione vettori: Casi particolari Comando per creare vettori con termini equispaziati : linspace Per creare vettori che siano equispaziati in scala logaritmica: logspace Funzioni vettorizzate e operatori: 32 Funzioni vettorizzate e operatori La costruzione di questi vettori è abbastanza utile per la rappresentazione grafica di funzione Le funzioni in Matlab devono essere vettorizzate Ovvero, il diagramma della funzione f(x) è effettuato rappresentando graficamente i vettori ( x,f (x)), in cui il vettore f(x) è ottenuto applicando la funzione f al vettore x Esempio: >> x=[0:0.1:2* pi ]; >> y=sin(x); >> plot( x,y ) Funzioni vettorizzate e operatori: 33 Funzioni vettorizzate e operatori Per creare valori di funzioni non predefinite in Matlab, è possibile usare le operazioni aritmetiche tradizionali, ma con la accortezza che gli operatori siano preceduti dal punto “.” Esempio: >> x = [-5:.1:5]; >> y = x./(1+x.^2); >> plot(x,y) Da notare il punto prima degli operatori Rappresentazioni grafiche: 34 Rappresentazioni grafiche Matlab® consente rappresentazioni grafiche in scale diverse da quella lineare: Usa scale logaritmiche (in base 10) sia sulla ascissa che sulle ordinate Usa scale logaritmiche (in base 10) rispettivamente lungo le ascisse e lungo le ordinate >> loglog(x,y); >> semilogx(x,y); >> semilogy(x,y); Esercizi: 35 Esercizi Rappresentare graficamente le seguenti funzioni, in scala lineare e in scale logaritmiche: y = x 2 y = 1./exp(x+1) Nell’intervallo x  [0 4]. Scegliere una griglia di valori che garantisca una rappresentazione grafica adeguata. Esercizio: 36 Esercizio Ripetere l’esercizio di prima (solo in scala lineare) per la funzione: Nell’intervallo x  [-4 4]. Stabilire (qualitativamente) quando la funzione è significativamente diversa da 0. Miscellanea – Funzioni utili: 37 Miscellanea – Funzioni utili max (x) restituisce il valore massimo di x, se x è un vettore. Nel caso in cui x sia una matrice, restituisce un vettore riga contenente il massimo elementi di ciascuna colonna, min (x) restituisce il valore minimo di x, se x è un vettore. Analogo a max nel caso di matrici. abs (x) restituisce un vettore, delle stesse dimensioni di x, i cui termini sono i moduli delle singole componenti di x size (A) restituisce le dimensioni di A Altra possibilità per ottenere informazioni sui comandi e le funzionalità di Matlab®:: Altra possibilità per ottenere informazioni sui comandi e le funzionalità di Matlab ®: 38 Miscellanea – Istruzioni utili: 39 Miscellanea – Istruzioni utili save fname salva tutte le variabili nel file chiamato fname.mat (file binario) save fname y salva la variabile y (possono anche essere più di una) nel file chiamato fname.mat (file binario) save fname y –ascii salva la variabile y in formato testo (ascii) nel file chiamato fname. Molto utile nel caso si vogliano utilizzare i risultati di Matlab® con altri programmi, che non sono in grado di leggere il formato binario di Matlab® save fname y –ascii –tabs aggiunge un carattere tabulazione per separare gli elementi delle colonne di y. Miscellanea – Istruzioni utili: 40 Miscellanea – Istruzioni utili load fname carica tutte le variabili dal file chiamato fname.mat load fname –ascii carica la matrice definita in codice ascii nel file fname. Il nome della matrice nella sessione di Matlab® sarà fname. exit (o quit) esce dal programma Miscellanea – Gestione cartelle: 41 Miscellanea – Gestione cartelle Con la procedura descritta nei precedenti lucidi, le variabili verranno salvate nella cartella: C:\Users\NOME_UTENTE\Documents\MATLAB Però, è spesso necessario richiamare variabili e programmi (la creazione di programmi sarà esposta nella successiva sezione) salvate in altre cartelle. Miscellanea – Gestione cartelle: 42 Miscellanea – Gestione cartelle Cambiamento cartella di lavoro nella sessione di MatLab ® Esempio: si vogliono caricare e/o salvare dati con Matlab ® lavorando nella cartella C:\ApEse Questa fase può essere completata in due differenti modi Scrivere nella finestra principale di MatLab ® >> cd C:\ApEse Oppure … Miscellanea – Gestione cartelle: 43 Miscellanea – Gestione cartelle Miscellanea – Gestione cartelle: 44 Miscellanea – Gestione cartelle Cercare nella nuova finestra aperta la cartella C:\ApEse Miscellanea – Gestione cartelle: 45 Miscellanea – Gestione cartelle È possibile vedere dalla finestra principale di Matlab® i file che sono contenuti nella cartella con il comando: >> dir O alternativamente: >> ls È possibile anche visualizzare il percorso della cartella in cui si sta lavorando: >>pwd Miscellanea – Gestione cartelle: 46 Miscellanea – Gestione cartelle Importante !! Non è possibile caricare file (o programmi) che non siano nel direttorio corrente in cui sta lavorando Matlab ® >> cd C:\ApEse >> save tempor >> cd C:\ >> load tempor ??? Error using ==> load Unable to read file tempor : file does not exist. >> Miscellanea – Gestione cartelle: Miscellanea – Gestione cartelle Suggerimento per il corso Lavorare sempre nella stessa cartella ovvero: È consigliabile che i file su cui si lavora (sia quelli scaricati dal sito, dati e programmi, sia quelli creati dagli utenti) siano tutti collocati in una sola cartella Non creare sottocartelle 47

Add a comment

Related presentations

Related pages

Matlab tutorial part 1 - YouTube

MATLAB Tutorial 1: Basic Calculations and Variables - Duration: 13:53. ... Matlab Introduction for beginners Part 1 - Duration: 7:24.
Read more

m-files –Creazione di funzioni definite dall’utente

Analisi dei Processi Chimici e Biotecnologici – Alfabetizzazione Matlab Parte 3 1 Analisi dei Processi Chimici e Biotecnologici –Matlab® 1 Parte 3 ...
Read more

Parte 1 Tutorial –Definizioni preliminari

Analisi dei Processi Chimici e Biotecnologici - Definizioni preliminari MatlabLez1 1 Analisi dei Processi Chimici e Biotecnologici-Matlab® Sommario
Read more

Introducción a Matlab - Parte 1 - YouTube

Introducción a Matlab - Parte 2 - Duration: 2:21. Alexander Hoyo 27 ... umh2252 2013-14 Lec001 Introducción a Matlab parte 1 - Duration: ...
Read more

Lab 1: Introduction to MATLAB (Part I)

Lab 1: Introduction to MATLAB (Part I)∗ EE299 Winter 2008 Due: In lab, on or before 17 January 2008. You will need: a pair of headphones for listening to ...
Read more

MatLab Introduction Part 1 & Part 2 - uni-saarland.de

Part 1 MATLAB Basics. What is MATLAB? Matlab = Mat rix Lab oratory A software environment for interactive numerical computations Examples:
Read more

Part 1 MATLAB for Data Processing (and Visualization )

Part 1 MATLAB for Data Processing (and Visualization ) Training Objectives This course part will be splitted into the topic «Data Processing» and the ...
Read more

Cleaner Code in MATLAB, Part 1 - MATLAB Video

Cleaner Code in MATLAB, Part 1. From the series: Cleaner Code in MATLAB. Feedback ; Enlarge; Search videos. MATLAB Video Blog. Next in Series. 4:02. Part 2.
Read more

Explicit multi-threading in Matlab part 1 | Undocumented ...

Explicit multi-threading in Matlab part 1. Wednesday, February 19th, 2014 One of the limitations of Matlab already recognized by the community, is that ...
Read more