La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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.

Presentazioni simili


Presentazione sul tema: "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."— Transcript della presentazione:

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 formatcontrolla il formato di visualizzazione delloutput sullo schermo fprintfcontrolla il formato delloutput sullo schermo e su file x=input(testo)visualizza il testo specificato, attende input dallutente dalla tastiera e registra il valore della variabile x x=input(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 formatconsente 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 longformato a virgola fissa con 15 cifre format short eformato a virgola mobile con 5 cifre format long eformato a virgola mobile con 15 cifre format short gformato migliore tra quello a virgola fissa e mobile con 5 cifre format long gformato migliore tra quello a virgola fissa e mobile con con 15 cifre

4 Formati di visualizzazione ( continuazione) format hexformato esadecimale format +formato compatto. I simboli +,- e blank sono usati per valori positivi negativi e nulli. Le parti immaginarie sono ignorate format bankformato fisso con due cifre decimali format ratapprossimazione 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.numero2]C [-]specifica lallineamento a sinistra numero1specifica la larghezza minima del campo numero2specifica il numero di cifre decimali Ccontiene i codici di controllo e di formattazione

6 Formati di scrittura su file (continuazione) Ccodici di controllo e di formattazione Codici di controllo \n avvia una nova riga (linefeed) \rinizio di una nuova riga (carriage return) \bspazio bianco(blackspace) \ttabulatore(tab) apice o apostrofo \\carattere backslash \ %carattere percentuale % Codici di formattazione %enotazione scientifica con e minuscola %Enotazione scientifica con E maiuscola % f formato decimale %gformato 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 e x 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 > 0 0 se x = 0 -1 se x < 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 function[var. di output]=nome_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 output]=nome_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 forripetizione 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) ifistruzione 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 endtermina le istruzioni if, for e while

21 Istruzioni di controllo ( continuazione) breaktermina 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 caseutilizzato 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 maggiore >=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 ~NOTlistruzione ~ 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 & ANDlistruzione 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 |ORlistruzione 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


Scaricare ppt "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."

Presentazioni simili


Annunci Google