Linguaggio MATLAB: costrutti tipici (IF,WHILE…)

Slides:



Advertisements
Presentazioni simili
Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili dambiente si usa il comando set.
Advertisements

Metodi numerici in Matlab
Programma: main() { istruzioni } ; assegnazione condizione ciclo istruzione: ;
if (condizione.) { blocco_istruzioni } else
Informatica 22/03/2012.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Selezione A. Ferrari.
PROGRAMMARE IN PASCAL (le basi)
PHP.
MATLAB.
MATLAB.
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
2 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Il linguaggio C Gli operatori e le espressioni C Language
INFORMATICA Strutture iterative
Esercitazione MATLAB (13/5)
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Tipi di dato e controllo del flusso Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Metodi numerici per equazioni lineari iperboliche Gabriella Puppo.
Importazione di dati Nellambito dellutilizzo di qualsiasi software statistico una necessità è quella di importare dati esterni forniti dallutilizzatore.
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Il linguaggio Fortran 90: 4. Array: Vettori e Matrici
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Strutture di controllo in C -- Flow Chart --
CAPITOLO 7.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
INTRODUZIONE A MATLAB.
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Parte 4 Elementi di Informatica di base
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
Capitolo 4 (Deitel) Le strutture di controllo in C
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Programmazione Strutturata
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Introduzione a Javascript
Javascript Istruzioni di ciclo: for(inizio; condizione; incremento ) {blocco istruzioni} istruzione seguente; – inizio e incremento possono contenere più.
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Informatica B Allievi Elettrici - AA Fondamenti della programmazione in linguaggio C (II) Istruzioni e strutture di controllo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Operatori di incremento e decremento
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
Strutture di controllo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
Transcript della presentazione:

Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Schema della lezione Concetti introduttivi Operatori logici Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Comandi di INPUT/OUTPUT Funzioni MATLAB

Concetti introduttivi Definizione di una matrice: >> A=[ 1,5,3 ; 4,3,2; 3,1,9 ] ; A= [ 1 5 3 4 3 2 3 1 9 ] Lettura di un singolo elemento della matrice: >> X= A (2,3) X=2

TRASPOSTA: >> B=A’ ( oppure B=transpose(A) ) B= [ 1 4 3 5 3 1 3 2 9 ] DETERMINANTE: >> X = det (A) X = -140 INVERSA DELLA MATRICE >> B = inv (A)

VETTORI: matrici con una dimensione unitaria. VETTORE RIGA: a = [ 1, 2, 3] VETTORE COLONNA: a = [ 1 ; 2 ; 3 ] Generazione di un vettore di indici: I = Valore_Iniziale : delta : Valore_finale Esempio : >> I = 0 : 1 : 10 I = [ 0 1 2 3 4 5 6 7 8 9 10 ] Maggiori informazioni: Menu Help-> Help Window matlab\matfun

Comandi del Control System Toolbox Rappresentazione nello spazio degli stati: comando ss >> SYS = ss ( A, B, C, D ) Rappresentazione mediante funzione di trasferimento: comando tf >> SYS = tf ( NUM, DEN) = tf ( [ 1,2,6], [1,1,5,8])

Comandi del Control System ToolBox Rappresentazione ZERI-POLI-GUADAGNO: comando zpk >> SYS = zpk ( [Z1,Z2,..,Zm] , [P1,P2,…,Pn] , K ) ESEMPIO: >> SYS = zpk ([-1] , [2,-3] , 2 )

Risposta all’impulso e al gradino del modello : Comandi STEP e IMPULSE 2 modi di utilizzo: step ( SYS) => i tempi di campionamento vengono scelti automaticamente ; step (SYS, T) => T definisce gli istanti di campionamento T = Tiniziale: step : Tfinale ( vettore colonna ) [ Y, T1 ] = step ( SYS , T) => non viene plottato il risultato, nella matrice ( o vettore) Y si ha l’andamento delle uscite mentre T1 contiene il vettore degli istanti di campionamento. Plot( T1,Y) => visualizzazione dei risultati.

Operatori comparativi Forniscono un risultato di tipo BOOLEAN: VERO o FALSO. Si dispone di 6 operatori: UGUAGLIANZA : eq oppure == DISUGUAGLIANZA : ne oppure ˜= MINORE DI … : lt oppure < MAGGIORE DI .. : gt oppure > MAGGIORE O UGUALE: ge oppure >= MINORE O UGUALE.. : le oppure <=

MODO DI UTILIZZO : >> RIS = A < B oppure RIS = lt ( A,B ) A,B sono 2 matrici della stessa dimensione oppure o A o B scalare. Viene effettuata una comparazione elemento per elemento e viene ritornata la matrice RIS in cui ho 1 se VERO o 0 se FALSO. ESEMPIO: A = [ 2 2 2 2] B = [ 1 1 5 0 ] RIS = lt (A,B) => RIS = [ 0 0 1 0 ]

Operatori logici Operatori binari: FORMATO: RIS = operatore ( A , B) AND oppure & => VERO se entrambi diversi da zero OR oppure ! => VERO se almeno un valore diverso da zero XOR=>ritorna FALSO se i valori sono entrambi = 0 o diversi da 0 Operatori monari : FORMATO: RIS = operatore ( A ) NOT => VERO se il valore e’ uguale a 0, FALSE altrimenti. ANY => se A e’ un array ritorna VERO se tutti i valori sono diversi da 0 ALL => se A e un array ritorna VERO se almeno un valore e’ diverso da 0

Costrutti per la programmazione MATLAB Vengono utilizzati per una programmazione evoluta Molto simili ai costrutti del linguaggio C MATLAB fornisce 4 costrutti fondamentali: IF FOR WHILE SWITCH

IF (espressione_logica) blocco_istruzioni; COSTRUTTO IF Viene utilizzato quando l’esecuzione di un certo numero di istruzioni e’ vincolata al soddisfacimento di una certa espressione logica. FORMATO COMPLETO: IF (espressione_logica) blocco_istruzioni; ELSE IF (espressione_logica) ELSE END

I blocchi ELSE IF ed ELSE sono opzionali. L’espressione logica deve ritornare un valore scalare. ESEMPIO: IF (Temperatura>25) ARIA_FREDDA=1; ELSE IF (Temperatura>20) ARIA_FREDDA=0; ARIA_CALDA=0; ELSE ARIA_CALDA=1; END

Costrutto FOR Il FOR viene utilizzato quando un gruppo di istruzioni deve essere ripetuto un determinato numero di volte. FORMATO: FOR INDICE = VALORE_IN: STEP: VALORE_FIN Blocco_istruzioni; END STEP = incremento del contatore ad ogni ciclo.

ESEMPIO: vogliamo generare un vettore a “RAMPA” FOR t=0: 0.1 : 5 Y(I) = t ; I=I+1; END Y diviene un vettore composto da 50 valori: Y= [ 0, 0.1 , 0.2 , 0.3 , 0.4 , …., 5]

Costrutto WHILE Viene utilizzato quando un gruppo di istruzioni deve essere ripetuto finche’ un’espressione logica risulta vera. Anche in questo caso l’espressione deve fornire un valore scalare. FORMATO: WHILE (espressione_logica) Blocco_istruzioni; END ESEMPIO: WHILE (Temperatura<25) ARIA_CALDA=1; END

Costrutto SWITCH SWITCH variabile CASE (caso1) blocco_istruzioni; Viene utilizzato quando il blocco di istruzioni da eseguire dipende dal valore di una certa variabile. Può essere sostituito da una serie di IF. FORMATO: SWITCH variabile CASE (caso1) blocco_istruzioni; CASE (caso2) ……. OTHERWISE END

ESEMPIO: SWITCH (a) CASE (1) % se a=1 allora esegue queste istruzioni Y(1) = a; CASE(2) Y(1)=a-1; OTHERWISE Y(1)=0; END Menu Help->Help Window: matlab\lang

Istruzione BREAK Questa istruzione viene utilizzata per terminare un ciclo prima del previsto, si utilizza all’interno di cicli FOR o WHILE. ESEMPIO: for I=0:1000 a=controllo_temperatura(); if (a>2000) break; % esco dal ciclo for end stampa_temperatura(a);

ISTRUZIONI DI INPUT-OUTPUT: FPRINTF INPUT: interazione con l’utente nello spazio di lavoro di MATLAB. Viene utilizzata per leggere valori immessi dall’utente VALORE = INPUT (‘ stringa di testo’ ); FPRINTF: viene utilizzata come in C per visualizzare nello spazio di lavoro il contenuto delle variabili. FPRINT (‘ stringa %x ’ ,valore ) %d = valore intero %f = valore floating

FUNZIONI MATLAB E’ possibile aggiungere alle funzioni già esistenti altre costruite da noi in modo da risolvere problemi specifici. Le variabili definite all’interno di una funzione sono LOCALI. FORMATO: FUNCTION [ output ] = nome_function ( input ) blocco_istruzioni; All’interno della function i parametri di output vengono settati e viene ritornato il loro valore al termine della funzione stessa. Non c’è bisogno di utilizzare il return come in C. Si creano come degli script e si salvano nel formato: nome_function.m