CORSO DI LABORATORIO DI INFORMATICA

Похожие документы
Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Introduzione al MATLAB c Parte 3 Script e function

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Mini-Corso di Informatica

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Informatica Applicata al Suono Tutorial Matlab

Le strutture di controllo in C++

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

Matlab. Istruzioni condizionali, cicli for e cicli while.

Laboratorio di Calcolo Numerico

Fondamenti di Informatica

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Prove d esame Esercizi con Matlab

Traccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale

Introduzione a Matlab. Renato Mainetti

10 STRUTTURE DI CONTROLLO REPEAT E WHILE. Strutture di controllo e variabili strutturate

Esercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A

Introduzione a Matlab

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O)

Costrutti condizionali e iterativi

STRUTTURE DI CONTROLLO DEL C++

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

CORSO DI LABORATORIO DI INFORMATICA

Fondamenti di Informatica

Formalismi per la descrizione di algoritmi

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Esempio: somma di due numeri

Lezione 6 programmazione in Java

Rappresentazione degli algoritmi

10 Funzioni MATLAB. dove: output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

Programmazione Matlab

Introduzione alla programmazione

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Esercitazione 1 Conversione di base

Le basi del linguaggio Java

MATLAB Elementi di grafica Costrutti di programmazione

File di script. I File di Script Corso 2D - R.Virili 1

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. La ricorsione

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

Lab 01 Introduzione a Codelite

10 Funzioni MATLAB. dove. output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Fondamenti di Informatica

Funzioni, Stack e Visibilità delle Variabili in C

Introduzione al MATLAB c Parte 2

Istruzioni Condizionali

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Fondamenti di Informatica

Linguaggio C: introduzione

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice

Lezione 5: Controllo del flusso e costrutti avanzati

Esercitazione 6. Array

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

14Ex-Cap11.qxd :20 Pagina Le macro

Definizione di metodi in Java

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Metodi statici. Dichiarazione e chiamata di metodi statici

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

Traccia. Soluzione. Scrivere uno script SCILAB che calcoli la somma di tutti i numeri divisibili per 3 o per 5 compresi fra 1 e 100

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Esercitazione 1: Introduzione a MATLAB

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Corso di Linguaggi di Programmazione

Транскрипт:

CORSO DI LABORATORIO DI INFORMATICA Corso di Laurea Triennale in Ingegneria Elettrica a.a. 2015/2016 Docente: Ing. Domenico Amalfitano Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione (DIETI) Università degli Studi di Napoli Federico II. Via Claudio 21, 4 Piano Laboratorio 4.04

Programmazione Strutturata

MATLAB come linguaggio di programmazione MATLAB permette di creare veri e propri programmi o funzioni che possono aggiungersi alle funzioni base offerte. Usare il linguaggio MATLAB

Strutture fondamentali Un qualsiasi algoritmo può essere codificato in un linguaggio di programmazione se dispone delle tre strutture fondamentali: Sequenza Selezione Iterazione

Sequenza Una sequenza in MATLAB è ottenuta dalla sequenza lessicografica delle istruzioni. Le istruzioni devono terminare con un ;

Selezione if-then-else if condizione istruzioni; elseif condizione istruzioni; else istruzioni; switch - case switch variabile case valore1 istruzioni case valore2 otherwise istruzioni; istruzioni;

Esempio if then else if n==k x(1)=10; else x(1)=100;

Iterazione 1/2 Costrutto while while condizione istruzioni;

Esempio while n=0; k=5; while n<=k n=n+1; disp(n);

Iterazione 2/2 Costrutto for NON USARE i e j perché in MATLAB sono unità IMMAGINARIE! for ind=inizio:[passo]:n istruzioni;

Esempio for innestati for k=1:n for m=1:n A(k,m)=1;

Script file Uno Script file è una procedure MATLAB e contenente un insieme di istruzioni da eseguire quando il file è chiamato da MATLAB MATLAB dispone di un suo editor che fornisce molte funzionalità comprese quelle di debugging Di default uno script file ha estensione.m Per questo motivo è anche detto M-file Uno script file opera direttamente su variabili attualmente in memoria Workspace Non consentono l uso di variabili locali.

Script file Scrivere uno script file equivale a scrivere un insieme di istruzioni MATLAB al di fuori dell ambiente interattivo per poi farle eseguire in blocco in tale ambiente. La History Window ci permette di selezionare i comandi eseguiti per inserirli in uno script.

Per eseguire l ambiente di editing Click

Esempio

Per eseguire lo script Usare il pulsante run dell editor Risultati visibili nell ambiente MATLAB Oppure, salvare lo script in una cartella. In MATLAB far puntare la Current Folder a tale cartella Ora è possibile eseguire da linea di comando tutti gli script contenuti nella Current Folder. MATLAB restituisce errore se si prova ad eseguire uno script utente che non si trova nella Current Folder. Il tasto TAB può essere utile per selezionare velocemente gli script da eseguire a linea di comando

Esempio di esecuzione

Inserire input utente In uno script file si possono inserire dati da tastiera. Tramite il comando input(prompt) x = input(prompt); str = input(prompt,'s');

Esempio di script con input utente Digitare il seguente codice per il calcolo del fattoriale di un numero. Salvare lo script con il nome fattoriale e richiamarlo da linea di comando in MATLAB n=input('calcola il fattoriale di '); k=n; fatt=k; while k>2 k=k-1; fatt=fatt*k; disp('fattoriale'); disp(fatt);

Esercizio #1 Creare uno script file che calcoli e mostri a video la somma degli elementi di un vettore x. Salvare lo script con il nome calcolasomma somma=0; for k=1:length(x) somma=somma+x(k); disp(somma);

Esercizio #2 Creare uno script file per la ricerca di un elemento in un vettore x. Salvare lo script come ricercaelemento e richiamarlo da riga di comando Precondizione: il vettore x esiste già nel Workspace L utente deve inserire il valore da cercare elemento=input('quale elemento cercare? '); k=0; found=0; while k<length(x) && found==0 k=k+1; if elemento==x(k) found=1; if (found==1) disp ('elemento trovato in posizione'); disp(k); else disp ('elemento non trovato');

Esempio #3 Creare uno script che calcoli e mostri a video la somma degli elementi di un vettore x presente nel workspace. Riusare lo script calcolasomma dell Esempio #1. calcolasomma; media=somma/length(x); disp('la media degli elementi è:'); disp(media);

Funzioni Una function si crea in MATLAB in maniera analoga ad uno script. Ha di diverso solo l intestazione che deve essere function [ou1, ou2, ] = nome(in1, in2, ) nome= nome della function uguale al nome del file.m che la contiene ou1, ou2 = parametri di output in1, in2, = parametri di input Le variabili interne sono tutte locali e quindi dopo l esecuzione della function non restano nello spazio di lavoro.

Esempio Vogliamo scrivere una funzione che dato un vettore in ingresso restituisca nelle sue variabili di output le occorrenze degli zeri, dei numeri negativi e di quelli positivi. function [zeros, neg, pos] = valutasegno(x) zeros=0; neg=0; pos=0; for k=1: length(x) if (x(k)==0) zeros=zeros+1; elseif (x(k)>0) pos=pos+1; else neg=neg+1;

Richiamare una function Salvare la function come valutasegno Digitare in Command Window: x = [0, 3, -1, -1, 0, 0, 8, 8, 8]; valutasegno(x); a = valutasegno(x); [a, b] = valutasegno(x); [a, b, c] = valutasegno(x); Osservazioni???? Quali riguardo il Workspace????

Funzioni locali È possibile usare function locali Sono utilizzate solo da altre function e non sono disponibili dalla Command Window. Le function locali vanno scritte in coda alla function principale.

Esempio di funzioni locali function [avg, med] = mystats(x) n = length(x); avg = mymean(x,n); med = mymedian(x,n); function a = mymean(v,n) % MYMEAN Example of a local function. a = sum(v)/n; function m = mymedian(v,n) % MYMEDIAN Another example of a local function. w = sort(v); if rem(n,2) == 1 m = w((n + 1)/2); else m = (w(n/2) + w(n/2 + 1))/2;