1 / 31

Lezione 1

Lezione 1. Avvio di Matlab. Equazioni di II grado. Soluzione Simbolica. Soluzione Numerica. Matlab  Matrix Laboratory.

mariko
Télécharger la présentation

Lezione 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lezione 1 Avvio di Matlab

  2. Equazioni di II grado Soluzione Simbolica Soluzione Numerica Matlab  Matrix Laboratory Matlab è un ambiente di sviluppo per il calcolo numerico e simbolico che implementa tutte le operazioni definite in algebra matriciale più operazioni elemento ad elemento. NOTA BENE: in questo corso non verranno trattate le funzioni per il calcolo simbolico

  3. Modalità Funzionamento Matlab può funzionare in modalità console, o come interprete degli Scripts MODALITÀ CONSOLE Matlab si comporta come una normale calcolatrice programmabile, i comandi devono essere inseriti in sequenza, uno dopo l’altro e vengono immediatamente eseguiti MATLAB INTERPRETE I comandi Matlab possono essere scritti in un file di testo ASCII, dettiScripts, e possono essere eseguiti (interpretati) da Matlab in un secondo momento.

  4. Eseguire Matlab Per mandare il programma Matlab in esecuzione si può: Fare doppio click con il tasto destro del mouse dopo aver posizionato il cursore sull’icona del programma che si trova sul desktop • Attivare il menu Start (o Avvio) cliccando con il tasto sinistro del mouse sul bottone relativo nella taskbar del desktop; • cercare nel menu “Programmi” il la voce relativa all’ambiente Matlab; • cliccare sul nome del programma Matlab.

  5. Barra di Sistema La Finestra di Comando • I tre pulsanti sulla destra servono a: • ridurre a icona • ingrandire a tutto schermo • chiudere il programma Se Matlab è nella conformazione “solo finestra di comando” allora appare come in figura: Menù Principale Barra degli Strumenti Prompt dei comandi Directory Corrente è il punto di inserimento dove digitare tramite tastiera i comandi da far eseguire in modalità console. NB.: Se la Finestra di Matlab è la finestra attiva nel Computer (ossia riceve l’input da tastiera) la barra di sistema appare colorata in Blu altrimenti è Grigia Barra di stato

  6. Se Matlab non si trova nella conformazione: Solo Finestra di Comando, allora si selezioni dal menu View la voce Desktop Layout e quindi l’opzione Command Window Only Questo equivale a deselezionare (scompare il segno di spunta in nero) tutte le altre finestre dal menu View al di fuori della Finestra di Comando

  7. Cliccare con il tasto sx del mouse sul bottoncino ad x della barra di sistema 1 4 modi per chiudere Matlab 3 2 Digitare il comando exit seguito dal tasto invio (Enter) al prompt della finestra di comando Selezionare la voce Exit del menu File nella barra del menu principale della finestra di comando Premere contemporanea-mente i tasti CTRL e Q sulla tastiera quando la finestra di comando è la finestra attiva 4

  8. Verifica • Lo studente deve essere in grado di: • Accendere il Computer • Lanciare Matlab nella conformazione Command Window Only • Ingrandire/ridurre la finestra di Matlab • Uscire da Matlab • Spegnere il Computer

  9. Lavorare in modalità console Barra di Sistema Lavorare in Modalità console significa digitare (inserire tramite tastiera) le istruzioni da eseguire direttamente nella finestra di comando. Prompt e Cursore Questo è possibile solo se la finestra di Matlab è la finestra attiva ossia se la sua Barra di Sistema è evidenziata (se non sono state cambiate le impostazioni di default deve apparire di colore blu e non grigio) Per rendere attiva la finestra di Matlab (quando la barra di sistema è di color grigio) basta cliccarci su con il tasto sinistro del Mouse, il cursore inizierà a lampeggiare affianco al prompt e la finestra sarà pronta a ricevere l’input da tastiera.

  10. Modalità console In modalità console Matlab può essere usato come una qualsiasi calcolatrice programmabile per eseguire calcoli fra valori numerici scritti in diverso formato. Una volta inserita l’espressione da calcolare bisogna digitare il tasto ENTER (o INVIO) perché Matlab effettui il calcolo: >> 6 * 5 ans = 30 >>| Matlab eseguirà l’operazione e restituirà il risultato (answer=risposta) nelle righe seguenti 1 Quindi restituisce il prompt (>>) ed il cursore ( | ) per un altro inserimento 2 NB.: E’ possibile inserire o modificare espressioni per il calcolo solo sull’ultima riga della finestra di comando di Matlab le altre righe, precedentemente inserite, anche se visibili non sono editabili. Per poterle modificare vanno richiamate con i tasti FRECCIA SU () FRECCIA GIU’ () della tastiera.

  11. Operatori aritmetici ^ Elevamento a Potenza * Prodotto / Divisione + Somma - Differenza Per poter effettuare operazioni matematiche devono essere usati gli operatori aritmetici binari riportati di fianco. Operatore Binario Operatore Unario Un operatore si dice binario se opera su due operandi Un operatore si dice unario se opera su un solo operando operatore * operatore - 6 * 5 = 30 -6 * 5 = -30 operandi operando

  12. Formati Numerici: input I valori numerici costanti possono essere inseriti in Matlab come: INTERI Gli interi sono valori numerici senza parte decimale >> 6 * 5 ans = 30 RAZIONALIFIXED POINT I razionali fixed point sono valori numerici che presentano una parte intera ed una parte decimale separate da un punto: “.” >> 62.5 * 5 ans = 312.5000 Parte intera Parte decimale 62.5 NB.: La virgola “,” non può essere usata come separatore decimale Separatore decimale

  13. Formati Numerici: input I valori razionali in formato floating point (formato esponenziale) presentano: RAZIONALIFLOATING POINT >> 6.5e1 * 5 ans = 312.500 una solo cifra intera nessuna o più cifre decimali l’esponente della potenza del dieci da moltiplicare preceduta dal simbolo “e” o “E” Formato fixed point Esponente Parte decimale Parte intera 6.25e1  6.25*10^1  62.5  625/10 NB.: le due espressioni indicate in realtà rappresentano due formule il cui risultato è il valore da inserire, ma non devono essere utilizzate poiché richiedono l’esecuzione di un calcolo! Separatore decimale

  14. Esempi formati numerici Formule Matematiche Espressioni Matlab alternative >> 1.2e3*5.2/2 ans = 3120 >> 1200*5.2/2 ans = 3120 >> 25.04*2.7e-4 ans = 0.0067608 >> 2.504e1*2.7e-4 ans = 0.0067608 >> 2.504e1 * 2.7e-4 + 1e-2 ans = 0.0167608

  15. Priorità Operatori aritmetici ^ * / + - Nell’utilizzo degli operatori è sempre molto importante sapere quale è la scala delle priorità con cui essi vengono applicati Scala Priorità L’operatore ^ elevamento a potenza ha una priorità maggiore dell’operatore prodotto * e viene applicato prima 8*4 32 Sequenza operazioni corretta >> 2^3*4 ans 32 2^12 4096

  16. L’operatore / di divisione ha una priorità maggiore dell’operatore somma + e viene quindi applicato prima 2+2 4 Sequenza operazioni corretta >> 2+8/4 ans 4 10/4 2.5 L’operatore / di divisione e quello prodotto * hanno uguale priorità in questo caso le operazioni vengono eseguite da sinistra a destra 16/4 4 Sequenza operazioni corretta >> 2*8/4 ans 4 2*2 4 N.B.: in questo caso il risultato sarebbe in entrambi i casi coincidente

  17. Uso delle parentesi tonde ^ * / + - Le Parentesi tonde possono essere utilizzate come in algebra per variare la priorità degli operatori aritmetici. Scala Priorità Le parentesi tonde forzano l’esecuzione del prodotto prima dell’elevamento a potenza nonostante quest’ultimo abbia una priorità maggiore del primo. Sequenza operazioni senza parentesi 8*4 32 >> 2^(3*4) ans 4096 Sequenza operazioni con le parentesi 2^12 4096

  18. 2+2 4 >> (2+8)/4 ans 2.5 Sequenza operazioni corretta 10/4 2.5 >> 8/(2+2) ans 2 4+2 6 Sequenza operazioni corretta 8/4 2 N.B.: le uniche parentesi che possono essere utilizzate in Matlab per variare la priorità degli operatori aritmetici sono le parentesi tonde ( ), le quadre e le graffe { } sono utilizzate per altri scopi. Espressione Matlab Formula Matematiche >> 2*(3*((2+4)*(3-5)+1)+7) ans -52

  19. Espressione Matlab Corretta Formule Matematiche Nel trascrivere una formula matematica in un’espressione Matlab bisogna fare attenzione al fatto che: le uniche parentesi che possono essere utilizzate in Matlab sono le parentesi tonde ( ), le quadre [ ] e le graffe { } sono utilizzate per altri scopi; l’operatore prodotto non può essere omesso >> 2*(3*((2+4)*(3-5)+1)+7) ans -52 corretta Formula Matematica >> 2*(3((2+4)*(3-5)+1)+7) ??? 2*(3((2+4)*(3-5)+1)+7) | Error: ")" expected, "(" found. errata Manca l’operatore prodotto

  20. NOTA BENE Bisogna sempre ricordare che a parità di priorità le istruzioni vengono eseguite da sinistra a destra Le parentesi forzano il prodotto 3*5 ad essere eseguito per primo >> 1/(3*5) ans 0.0667 corretta 1/15 0.0667 Formula Matematica Le operazioni vengono effettuate da sinistra a destra poiché la priorità è la stessa >> 1/3/5 ans 0.0667 corretta 0.33/5 0.0667 Le operazioni vengono effettuate da sinistra a destra poiché la priorità è la stessa, ma la logica è errata >> 1/3*5 ans 1.6667 errata 0.33*5 1.6667

  21. NOTA BENE Bisogna sempre distinguere fra ERRORI LOGICI e ERRORI DI SINTASSI Il calcolo viene eseguito ma non nella maniera voluto ed il risultato ottenuto è sbagliato. Sono anche detti BUGS. ERRORI LOGICI Il calcolo non può essere eseguito, non si ottiene un risultato, ma un messaggio di errore da Matlab ERRORI DISINTASSI >> 2*(3((2+4)*(3-5)+1)+7) ??? 2*(3((2+4)*(3-5)+1)+7) | Error: ")" expected, "(" found. Manca l’operatore prodotto

  22. Verifica Lo studente deve essere in grado di calcolare correttamente le seguenti formule: 1 2 3

  23. Soluzione 1 e 2 Parentesi ridondanti >> 2 * (3+4)/(2*5) ans = 1.4000 >> 2*((3+4)/(2*5)) ans = 1.4000 non corretta corretta 1 >> 2 * (3+4)/2/5 ans = 1.4000 >> 2 * (3+4)/2*5 ans = 35 corretta errata 2 >> 3 *( 2.0e-1 * (1/(3+5) + 3/5) + 0.1 ) ans = 0.7350

  24. Soluzione 3 >> 2*( (1.5e-2+0.1) / 3.5 / (0.1+3/5) + 2.0e-3) - 1e-2 ans = 0.0879

  25. Separatori di istruzioni. È possibile scrivere due istruzioni matlab in sequenza sulla stessa riga di comando separandole con una virgola (,) o un punto e virgola (;): ; punto e virgola , virgola >> 2*3; 2+3 ans = 5 >> 2*3, 2+3 ans = 6 ans = 5 N.B.: Il punto e virgola agisce non solo come separatore di istruzioni ma anche come soppressore dell’output testuale, infatti il risultato del primo calcolo non viene più mostrato.

  26. Formato di output È possibile modificare il formato numerico di output, ossia il formato con cui Matlab rappresenta i risultati dei calcoli usando il comando format. >> 1/100 ans = 0.0100 Formato di default Di default il formato utilizzato è un formato con solo 5 cifre (short) ed il valore viene rappresentato come fixed point, se possibile, altrimenti come floating point (formato esponenziale). >>1/1e4 ans = 1.0000e-004 format long, 1/100 ans = 0.01000000000000 Il comando format long aumenta la precisione del formato numerico a 15 cifre

  27. Formato di output FORMATO ESPONENZIALE >>format short e, 1/100 ans = 1.0000e-002 Il comando format short e forza il formato ad esponenziale con una precisione di 5 cifre >>format long e, 1/100 ans = 1.000000000000000e-002 Il comando format long e forza il formato ad esponenziale con una precisione di 15 cifre FORMATO DI DEFAULT >>format, 1/100 ans = 0.0100 Il comando format riporta il formato di output a quello di default

  28. Formato di output FORMATO OTTIMIZZATO >>format short g, 1/100, 1/3e7 ans = 0.01 ans = 3.3333e-008 Il comando format short g forza il formato ad un essere ottimizzato rispetto alla precisione a 5 cifre: solo gli zeri significativi vengono mostrati. >>format long g, 1/100, 1/3e7 ans = 0.01 ans = 3.333333333333333e-008 Il comando format long g forza il formato ad un essere ottimizzato rispetto alla precisione a 15 cifre: solo gli zeri significativi vengono mostrati.

  29. Funzioni Matematiche In matlab esistono librerie di funzioni matematiche che possono essere facilmente utilizzate dall’utente: Funzioni trigonometriche NB.: Le funzioni trigono-metriche dirette prendono l’argomento esclusivamen-te in radianti e non in gradi >>sin(3.14) ans = 0.0016 >>cos(pi) ans = -1 >>tan(pi/2) ans = 1.0000 >>asin(0.5) ans = 0.5236 >>acos(3/4) ans = 0.7227 >>atan(1.0) ans = 0.7854 Funzioni dirette Funzioni inverse Angolo in gradi Angolo in radianti

  30. Funzioni e Comandi Una funzione è un’istruzione che riceve un certo elenco di valori (argomenti della funzione) fra parentesi tonde, separati da virgole, in un ordine opportuno, e restituisce un o più valori numerici: >>nome_Funzione(arg1, arg2,…) ans = valore funzione Argomenti funzione Valore funzione Un comando è un’istruzione che riceve un certo numero di parametri separati da spazi e non restituisce un valore ma serve ad impostare una qualche proprietà del sistema >>nome_Comando par1 par2 … >> parametri comando

  31. Comando help Serve ad ottenere informazioni da Matlab circa l’uso di una funzione matematica o di un comando: >>help cos COS Cosine. COS(X) is the cosine of the elements of X. Overloaded methods help sym/cos.m

More Related