Laboratorio di Programmazione Lezione 1 Introduzione al...
Transcript of Laboratorio di Programmazione Lezione 1 Introduzione al...
IntroduzioneOttenere MATLAB
Laboratorio di ProgrammazioneLezione 1
Introduzione al corso
Prof. Michele Scarpiniti
Prof. Danilo Comminiello
Dipartimento di Ingegneria dell’Informazione, Elettronica e Telecomunicazioni“Sapienza” Universita di Roma
http://ispac.diet.uniroma1.it/scarpiniti/index.htm
[email protected]@uniroma1.it
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 1 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Generalita e Obiettivi del Corso
L’obiettivo del corso e quello di fornire una panoramica generale al linguaggioMATLAB. Oltre alla descrizione dei fondamenti del linguaggio MATLAB,dei costrutti e dei comandi messi a disposizione per la manipolazione divettori e matrici e la creazione di grafici, si dara particolar enfasi ai toolbox diinteresse per l’ingegneria delle comunicazioni. Si vorra, quindi, approfondirealcuni argomenti come la trasformata di Fourier, le modulazioni, l’analisistatistica dei segnali, la manipolazione dei segnali multimediali quali l’audioe le immagini, la progettazione di filtri e altre specifiche applicazioni. Infine siintrodurra l’utilizzo di Simulink, utile alla simulazione di sistemi complessi.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 2 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Risultati dell’apprendimento
Lo studente acquisisce le nozioni necessarie a programmare in linguaggioMATLAB e in particolare a gestire vettori e matrici di dati e disegnaregrafici. Particolare enfasi sara anche data al calcolo simbolico. Inoltre, lostudente acquisira l’uso dei toolbox fondamentali nelle varie branche dell’in-gegneria delle comunicazioni. Infine, lo studente sara in grado di effettuaresimulazioni di semplici sistemi tramite Simulink.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 3 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Docenti del corso
Il corso sara tenuto in co-docenza:
Michele Scarpiniti
Luogo: Dip. DIET, I piano, stanza 121, Facolta di Ingegneriadell’Informazione, Informatica e Statistica (S. Pietro inVincoli), Via Eudossiana 18, Roma.
Recapiti: 06 44585869 (interno: 25869), Fax: 06 44585632.
E-mail: [email protected] (indicare “Laboratoriodi Programmazione” nell’oggetto).
Sito web:http://ispac.diet.uniroma1.it/scarpiniti/index.htm
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 4 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Docenti del corso
Danilo Comminiello
Luogo: Dip. DIET, I piano, stanza 102, Facolta di Ingegneriadell’Informazione, Informatica e Statistica (S. Pietro inVincoli), Via Eudossiana 18, Roma.
Recapiti: 06 44585495 (interno: 25495), Fax: 06 44585632.
E-mail: [email protected] (indicare “Laboratoriodi Programmazione” nell’oggetto).
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 5 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Prerequisiti, frequenza e modalita di esame
Settore Scientifico-Disciplinare (SSD): AAFF (Altre AttivitaFormative), ma sara impartito da docenti del SSD ING-IND/31(Elettrotecnica).
Inquadramento: BCOR; Terzo anno; Primo semestre.
Crediti: 6 CFU.
Prerequisiti: conoscenze di base di Fondamenti di Informatica.
La frequenza e fortemente consigliata.
Modalita di esame: Tesina: lo studente deve dimostrare di saperprogrammare in linguaggio MATLAB risolvendo un problemaassegnato e consegnando un elaborato.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 6 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Sito web del corso
Tutte le informazioni relative al corso (programma, docenti, recapiti, datedi esame) e il materiale didattico e reperibile al seguente indirizzo:
http://ispac.diet.uniroma1.it/scarpiniti/LabPro_info.
htm
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 7 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Programma di massima del Corso
In sintesi il programma di massima del corso e articolato come segue:1 Introduzione al linguaggio MATLAB2 L’ambiente di lavoro MATLAB3 I tipi di dato4 Le funzioni di base5 Il controllo di flusso6 I vettori e le matrici7 I polinomi8 I grafici9 L’input e output
10 Creare nuove funzioni11 Il calcolo simbolico12 I metodi numerici13 MATLAB orientate agli oggetti14 Le interfacce grafiche
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 8 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Programma di massima del Corso
15 La rappresentazione dei segnali
16 Lavorare con l’audio
17 Il filtraggio
18 La statistica
19 Le modulazioni
20 Lavorare con le immagini
21 Esempi applicativi
22 Le basi di Simulink
23 Esempi e applicazioni in Simulink
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 9 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Testi del Corso
Dispensa a cura del docente.
MATLAB: Getting Started Guide, reperibile online:http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/
getstart.pdf.
Complementi:
H. Moore, MATLAB per l’Ingegneria, Pearson, 2008.
H. Moore, MATLAB for Engineers, Pearson, 2014.
D. M. Smith, Engineering Computation with MATLAB. Pearson, 2010.
T. A. Davis, MATLAB Primer, 8-th edition, CRC Press, 2010.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 10 / 19
IntroduzioneOttenere MATLAB
IntroduzioneRisorse
Testi del Corso
Il testo proposto, al momento disponibilecome dispensa del corso, e il seguente:
M. Scarpiniti,Laboratorio di programmazione:MATLAB per l’Ingegnere delleComunicazioni,2017.
Il testo e scaricabile dal sito web di ri-ferimento del corso. E necessaria lapassword per aprire il documento, darichiedere al docente.
michele scarpiniti
laboratorio di programmazionematlab® per l’ingegnere delle comunicazioni
Versione 1.0
Dipartimento DIETUniversità di Roma “La Sapienza”via Eudossiana 18, 00184 Romahttp://ispac.diet.uniroma1.it/scarpiniti/index.htm
Aprile 2017
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 11 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
MATLAB e Sapienza
Dal 2017, grazie ad un accordo quadro tra Mathworks e Sapienza Universitadi Roma, tutti i docenti e gli studenti dell’Ateneo possono ottenere gratui-tamente la versione Professional di MATLAB, contenente tutti i pacchettiaggiuntivi.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 12 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Ottenere MATLAB
Per scaricare la propria versione di MATLAB e sufficiente eseguire i seguenti passi:
1 effettuare il login su: https://campus3.uniroma1.it/campus/indexlogin.php, utilizzando le proprie credenziali (di solito il numero di matricola e lapassword utilizzata per l’account studenti.uniroma1.it);
2 cliccare quindi sulla voce Matlab;
3 copiare, dalla tabella in alto, l’Activation Key che dovra essere utilizzato infase di installazione del software;
4 cliccare il link Registration: si verra dirottati sul sito di MATLAB;
5 creare un account MATLAB;
6 selezionare la versione di MATLAB idonea al sistema operativo in uso eprocedere con il download;
7 installare MATLAB: quando richiesto inserire l’Activation Key precedente;
8 selezionare l’installazione completa, di tutti i componenti.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 13 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Risorse su MATLAB
Oltre ai testi su MATLAB gia citati, esistono altre risorse utili, soprattutto online.
Per iniziare si cita il sito web della Mathworks (https://it.mathworks.com/) che rappresenta il punto di partenza di una serie di risorse utili.
1 Tra queste si cita sicuramente la guida in linea (https://it.mathworks.com/help/index.html), che e la versione online di quella presente nelcalcolatore se si e installati MATLAB.
2 E anche utile citare MATLAB Answer (https://it.mathworks.com/matlabcentral/answers/index) in cui e possibile porre una domandao rispondere ad una domanda fatta da qualcuno. Tale sito e molto utileper creare una rete di contatto tra diversi utenti di MATLAB sparsi peril mondo.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 14 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Risorse su MATLAB
MATLAB Answer e comunque parte di MATLAB Central (https://it.mathworks.com/matlabcentral/index.html), che rappresenta un portalein cui i diversi utenti possono condividere codice per diverse funzionalita, porrequestioni sull’utilizzo del codice ed ottenere risposte.
Inoltre, MATLAB mette a disposizione un sito in cui sono disponibili esempi diutilizzo avanzato (https://it.mathworks.com/examples/) e un sito chepresenta diversi tutorial sull’utilizzo di MATLAB (https://it.mathworks.com/support/learn-with-matlab-tutorials.html). Molti di questi tu-torial sono disponibili come video che spiegano passo-passo come procedereautonomamente.
Infine, si cita la pagina principale del supporto di MATLAB (https://it.mathworks.com/support/) da cui e possibile navigare alle varie sezioni perottenere aiuto e/o informazioni.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 15 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Alternative a MATLAB
Esistono molte alternative a MATLAB, alcune delle quali rilasciate con licenzapubblica e quindi liberamente scaricabili, mentre altre sono prodotti commerciali.Alcune di queste alternative sono parzialmente compatibili con MATLAB.In particolare, tra i software open-source, si citano:
Octave: e un linguaggio per l’analisi numerica molto simile a MATLAB.Condivide con esso moltissime funzioni e presenta la medesima sintassi. Epossibile scaricarlo dal link: https://www.gnu.org/software/octave/.
Scilab: presenta un’interfaccia molto simile a MATLAB. Anche la sintassie simile a quella di MATLAB, ma i due programmi non sono completamen-te compatibili. E possibile scaricarlo dal link: http://www.scilab.org/.Scilab e affiancato dal programma Scicos (http://www.scicos.org/) chefunziona in modo equivalente a Simulink.
Julia: e un linguaggio di programmazione e multi-paradigma ad alte prestazio-ni dedicato in maniera particolare al mondo della programmazione scientifica.E possibile scaricarlo dal seguenti link: https://julialang.org/.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 16 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Alternative a MATLAB
Maxima: e in grado di eseguire calcoli numerici, simbolici, grafici e altre ope-razioni correlate. Sviluppato negli anni sessanta da parte del MIT, e fonda-mentalmente orientato al calcolo simbolico. E possibile scaricarlo dal seguentilink: http://maxima.sourceforge.net/.
FreeMat: e un software di analisi numerica compatibile con MATLAB eOctave, supportandone molti comandi. Una caratteristica molto comoda diFreeMat e la capacita di importare e usare nativamente funzioni da libreriedinamiche esterne. E possibile scaricarlo dal seguenti link: http://freemat.sourceforge.net/.
Sage: e un software di analisi numerica, sbilanciato pero verso le applicazionidi algebra lineare e il disegno di grafici di funzioni. E possibile scaricarlo dalseguenti link: http://www.sagemath.org.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 17 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Alternative a MATLAB
Tra i software commerciali si citano:
Mathematica: e un ambiente di calcolo simbolico e numerico (https://www.wolfram.com/mathematica/). E abbastanza lontano da MATLAB,essendo orientato al solo calcolo simbolico.
Maple: e un software abbastanza generico e quindi simile a MATLAB per ipossibili ambiti di applicazione (http://www.maplesoft.com/).
Mathcad: e un software principalmente sviluppato per il calcolo, la veri-fica e la documentazione di calcoli ingegneristici (http://www.ptc.com/engineering-math-software/mathcad). E molto lontano dalla filosofiadi MATLAB.
Derive: e un software che consente di eseguire moltissime operazioni qualicalcoli simbolici, numerici, algebrici, analitici e trigonometrici anche con vet-tori e matrici (http://www.chartwellyorke.com/derive.html). Ha piuche altro una valenza didattica.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 18 / 19
IntroduzioneOttenere MATLAB
Download e installazioneRisorse
Alternative a MATLAB
Infine e doverosa una menzione al linguaggio Python, completamente open-source.Python e un linguaggio di programmazione ad alto livello, orientato agli oggetti eadatto, tra gli altri usi, a sviluppare applicazioni da distribuire a terze parti. Einoltre molto utile e potente nel campo della computazione numerica e simulazio-ne. Un punto di forza di tale linguaggio e la presenza di numerosissime librerieper gli scopi piu diversi, soprattutto nel mondo del Machine Learning (l’insiemedelle tecniche che consentono ai dispositivi di apprendere automaticamente daidati e dall’ambiente senza essere esplicitamente programmati) e dell’intelligenzacomputazionale.
Tra le varie librerie, NumPy (dedicata all’algebra lineare) e molto simile a MATLAB
e fa da base a tutte le librerie scientifiche di Python. Alcuni IDE (come Spyder)
sono a loro volta fatti per emulare MATLAB stesso e semplificare il passaggio a
tale linguaggio.
M. Scarpiniti Laboratorio di ProgrammazioneLezione 1 Introduzione al corso 19 / 19