Corso di Matlab_Simulink per Ingegneria 3 PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Corso di Matlab_Simulink per Ingegneria 3


1
Corso di Matlab_Simulink per Ingegneria 3
  • I comandi input output permettono di ottenere
    linput degli utenti e formattare i dati di
    output.
  • Si tratta di comandi di formattazione e
    visualizzazione

2
  • Comandi input/output
  • disp(A) visualizza il contenuto, non il nome,
    dellarray A
  • disp(testo) visualizza la stringa di testo
    racchiusa tra due apici
  • format controlla il formato di visualizzazione
    delloutput sullo schermo
  • fprintf controlla il formato delloutput sullo
    schermo e su file
  • xinput(testo) visualizza il testo specificato,
    attende input dallutente dalla tastiera e
    registra il valore della variabile x
  • xinput(testo,s) visualizza il testo
    specificato, attende linput dallutente dalla
    tastiera e lo registra come stringa nella
    variabile x

3
  • Formati di visualizzazione
  • Tutti i calcoli vengono eseguiti in Matlab i
    doppia precisione
  • format consente di impostare il formato con il
    quale vengono visualizzati i valori numerici.
  • Tale istruzione consente di selezionare i
    seguenti formati
  • format default equivale al formato short
  • format short formato a virgola fissa con 5 cifre
  • format long formato a virgola fissa con 15 cifre
  • format short e formato a virgola mobile con 5
    cifre
  • format long e formato a virgola mobile con 15
    cifre
  • format short g formato migliore tra quello a
    virgola fissa e mobile con 5 cifre
  • format long g formato migliore tra quello a
    virgola fissa e mobile con con 15 cifre

4
  • Formati di visualizzazione ( continuazione)
  • format hex formato esadecimale
  • format formato compatto. I simboli ,- e blank
    sono usati per valori positivi negativi e
    nulli. Le parti immaginarie sono ignorate
  • format bank formato fisso con due cifre decimali
  • format rat approssimazione razionale
  • format compact elimina i caratteri extra di
    nuova riga (line-feed)
  • per una visualizzazione più compatta
  • format loose annulla leffetto di format
    compact

5
  • Formati di scrittura su file
  • fprinf(format,A,) scrive gli elementi della
    array A e tutti gli argomenti aggiunti
    dellarray,secondo il formato specificato nella
    stringa formato
  • Struttura di format -numero1.numero2C
  • - specifica lallineamento a sinistra
  • numero1 specifica la larghezza minima del campo
  • numero2 specifica il numero di cifre decimali
  • C contiene i codici di controllo e di
    formattazione

6
  • Formati di scrittura su file (continuazione)
  • C codici di controllo e di formattazione
  • Codici di controllo
  • \n avvia una nova riga (linefeed)
  • \r inizio di una nuova riga (carriage return)
  • \b spazio bianco (blackspace)
  • \t tabulatore (tab)
  • apice o apostrofo
  • \\ carattere backslash \
  • carattere percentuale
  • Codici di formattazione
  • e notazione scientifica con e minuscola
  • E notazione scientifica con E maiuscola
  • f formato decimale
  • g formato più corto fra e e f.

7
  • Funzioni
  • Matlab possiede molte funzioni già disponibili in
    files con estensione .m
  • Funzioni matematiche di base
  • ma lutente può crearne altre utilizzando
    M-files
  • Funzioni definite dallutente
  • In generale una funzione prevede delle variabili
    in ingresso e delle variabili in uscita

8
  • Funzioni matematiche di base
  • Tipiche funzioni matematiche di base
  • F. Esponziali
  • exp(x) calcola ex
  • sqrt(x) calcola la radice quadrata di x
  • F. Logaritmiche
  • log(x) calcola il logaritmo naturale di x
  • log10(x) calcola il logaritmo decimale (in base
    10)

9
  • Funzioni matematiche di base
  • Tipiche funzioni matematiche di base
  • F. Complesse
  • abs(x) calcola il valore assoluto di x
  • angle(x) calcola la fase di un numero complesso
  • conj(x) calcola il numero complesso-coniugato di
    x
  • imag(x) rende la parte immaginaria di un numero
    complesso x
  • real(x) rende la parte reale di un numero
    complesso x

10
  • F. Numeriche
  • ceil(x) approssima x al numero intero più vicino
    verso infinito
  • fix(x) approssima x al numero intero più vicino
    verso lo zero
  • floor(x) approssima x al numero intero più vicino
    verso - infinito
  • round(x) approssima x al numero intero più vicino
  • sign(x) calcola il segno di x e rende
  • 1 se x gt 0
  • 0 se x 0
  • -1 se x lt 0

11
  • Funzioni trigonometriche
  • cos(x), sin(x), tan(x) e cot(x) coseno, seno,
    tangente e cotangente di x
  • acos(x), asin(x), atan(x) e acot(x) arcocoseno,
    arcoseno, arcotangente, arcocotangente di x
  • sec(x) e csc(x) secante e cosecante di x
  • cosh(x), sinh(x), tanh(x) e coth(x) coseno
    iperbolico, seno iperbolico,
  • sech(x) tangente iperbolica e cotangente
    iperbolica
  • e secante iperbolica di x
  • asec(x) e acsc(x) arcosecante e arcocosecante
    di x
  • aosh(x), sinh(x), tanh(x) e coth(x) arcocoseno
    iperbolico, arcoseno iperbolico,
  • csech(x) arcotangente iperbolica e
    arcocotangente iperbolica e cosecante di x
  • atan2(y,x) arcotangente nei quattro quadranti
    (pi-pi)

12
  • Funzioni definite dallutente
  • Vengono definite attraverso M-file, detti file di
    funzione.
  • Nei file di funzione tutte le variabili sono
    locali ossia i loro valori sono disponibili solo
    allinterno della funzione.
  • Essi sono particolarmente utili quando occorre
    ripetere una serie di comandi più volte.

13
  • Funzioni definite dallutente
  • Definizione della funzione
  • La prima riga di un file di funzione deve
    iniziare con la definizione della funzione con la
    quale
  • si distingue il file come file di funzione dai
    file script
  • si nomina la funzione e
  • si definisce lelenco dei parametri di input e di
    output
  • Un script-script viene eseguito semplicemente
    digitando il su nome senza
    lestensione m.

14
  • Funzioni definite dallutente
  • Le variabili di input specificate nella riga di
    definizione della funzione sono locali per quella
    funzione, questo
  • consente di usare altri nomi di variabili quando
    viene chiamata la funzione e
  • fa si che tutte le variabili allinterno della
    funzione vengono cancellate dopo che la funzione
    è stata eseguita, tranne le variabili che
    figurano nellelenco della variabili di output
    utilizzate nella chiamata di funzione

15
  • Sintassi della riga di definizione della funzione
  • functionvar. di outputnome_funzione(var. di
    input)
  • Le variabili di output devono essere racchiuse
    tra parentesi quadre
  • Le variabili di input devono essere racchiuse tra
    parentesi tonde
  • Il nome della funzione deve essere uguale al nome
    del file con estensione m, in cui sarà salvata la
    funzione.

16
  • Sintassi della riga di richiamo della funzione
  • Occorre digitarla nel file principale in
    corrispondenza della riga di programma nella
    quale si vuole richiamare la function
  • var. di outputnome_funzione(var. di input)
  • Le variabili di output devono essere racchiuse
    tra parentesi quadre
  • Le variabili di input devono essere racchiuse tra
    parentesi tonde
  • Il nome della funzione deve essere uguale al nome
    del file con estensione m, in cui sarà salvata la
    funzione.

17
  • Comandi per trovare punti singolari di una
    funzione
  • Determinazione degli zeri di una funzione
  • Per le funzioni polinomiali si usa roots
  • Per tutte le altre funzioni si usa fzero
  • Detrminazione del minimo di una funzione
  • Si usa fmin e fmins

18
  • Sintassi dei comandi per trovare minimi e zeri di
    una funzione
  • fmin(funzione,x1,x2) rende il valore x
    nellintervallo x1,x2 che corrisponde a un mini
    o della funzione di una variabile descritta dalla
    stringa funzione
  • fmins(funzione,x0) usa il vettore iniziale x0
    per trovare un minimo della funzione di più
    variabili descritta dalla stringa funzione
  • fzero(funzione,x0) usa il vettore iniziale x0
    per trovare uno zero della funzione di una
    variabile descritta dalla stringa funzione

19
  • I comandi fzero, fmin e fmins hanno forme
    sintatiche alternative che consentono di
    specificare la precisione richiesta per la
    soluzione o il numero di passaggi da effettuare
    prima di interrompere la routine dei comandi.
  • Per ulteriori dettagli utilizzare in modalità
    command window il comando Help .
  • Tali funzioni possono essere utili per risolvere
    problemi semplici di ottimizzazione

20
  • Istruzioni di controllo
  • for ripetizione di un insieme di istruzioni per
    un numero predeterminato di interazioni ( deve
    terminare con end)
  • while ripetizione di un insieme di istruzioni
    finché una determinata condizione rimane vera
    (deve terminare con end)
  • if istruzione condizionale (deve terminare con
    end) può utilizzare else e elseif
  • else identifica un blocco di istruzioni
    alternative
  • elseif esegue un blocco di istruzioni se è
    soddisfatta una condizione alternativa
  • end termina le istruzioni if, for e while

21
  • Istruzioni di controllo (continuazione)
  • break termina lesecuzione di un ciclo for o
    while
  • switch indirizza il controllo di un programma
    confrontando lespressione di input con le
    espressioni associate alle clausole case
  • case utilizzato con switch per controllare
    lesecuzione di un programma
  • findstr(s1,s2) date le stringhe di caratteri
    s1 e s2, trova gli indici iniziali di
    qualsiasi ricorrenza della stringa più corta
    allinterno della stringa più lunga

22
  • Operatori relazionali
  • lt minore
  • lt minore o uguale
  • gt maggiore
  • gt maggiore o uguale
  • uguale
  • diverso
  • Il simbolo si digita tenendo premuto alt e
    digitando 126 sul tastierino numerico

23
  • Operatori logici e funzioni logiche
  • Matlab ha 4 operatori logici o booleani e una
    serie di funzioni logiche
  • Operatori logici
  • NOT listruzione A rende una array delle
    stesse dimensioni di A con elementi pari
    a 1 se quelli corrispondenti di A sono nulli
    altrimenti sono pari a 0
  • AND listruzione A B restituisce un
    array delle stesse dimensioni di A e B
    gli elementi del nuovo array sono pari a 1
    se i corrispondenti elementi di A e B sono
    entrambi diversi da 0 altrimenti sono pari a
    0.

24
  • OR listruzione A B rende una array delle
    stesse dimensioni di A e B con elementi pari
    a 1 se almeno 1 dei due elementi
    corrispondenti di A e B è diverso da 0 e
    pari a 0 se entrambi gli elementi di A e B
    sono nulli.
  • xor(A,B) OR eslcusivo
  • listruzione di xor(A,B) restituisce un
    array delle stesse dimensioni di A e B gli
    elementi del nuovo array sono pari a 1 se uno
    solo dei due elementi corrispondenti di A e B
    è diverso da 0 (non entrambi) sono pari a 0
    se entrambi gli elementi di A e B sono nulli o
    diversi da 0.

25
  • Funzioni logiche
  • any(x) restituisce uno scalare , che è pari a 1
    se almeno uno degli elementi del vettore x è
    diverso da zero, 0 negli altri casi
  • any(A) restituisce un vettore riga che ha lo
    stesso numero di colonne della matrice A e che
    contiene 1 e 0 in funzione del fatto che la
    corrispondente colonna di A contiene oppure
    no almeno un elemento diverso da 0.
  • all(x) restituisce uno scalare, che è pari a 1
    se tutti gli elementi del vettore x sono
    diversi da 0, 0 negli altri casi

26
  • Funzioni logiche
  • find(x) crea un array che contiene gli indici
    degli elementi non nulli degli array x
  • u,v,w find(A) crea gli array u e v che
    contengono gli indici delle righe e delle
    colonne degli elementi non nulli della matrice
    A, e larray w che contiene i valori degli
    elementi non nulli. Larray w può essere
    omesso.
  • finite(A) restituisce un array della stessa
    dimensione di A i cui elementi sono pari a
    1 se i corrispondenti elementi di A sono
    valori finiti, 0 negli altri casi.

27
  • Funzioni logiche
  • isnan(A) restituisce un array della stessa
    dimensione di A i cui elementi sono pari
    a 1 se i corrispondenti elementi di A sono
    pari a NAN(Not a Number, numero non
    definibile), 0 negli altri casi
  • isinf(A) restituisce un array della stessa
    dimensione di A i cui elementi sono pari a 1 se
    i corrispondenti elementi di A sono pari a
    INF, 0 negli altri casi

28
  • Funzioni logiche
  • isempty(A) restituisce 1 se A è una matrice
    vuota, 0 negli altri casi.
  • isreal(A) restituisce 1 se A non contiene
    elementi con parti immaginarie, 0 negli altri
    casi
Write a Comment
User Comments (0)
About PowerShow.com