Dipartimento di Matematica

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Altre Istruzioni di I/O
Dipartimento di Matematica
Dipartimento di Matematica
Ricorsione Procedure e funzioni ricorsive. Definizioni Un oggetto si dice ricorsivo se è definito totalmente o parzialmente in termini di sé stesso La.
Procedure e funzioni ricorsive
PHP.
MATLAB.
Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
MATLAB Stefano Gagliardo
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.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
Esercizi di esonero (a.a. 2007/2008) Compito C, terzo esercizio Data una sequenza di caratteri s1 ed una stringa s2 diciamo che s1 è contenuta in s2 se.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Algebra di Boole ed elementi di logica
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.
MATLAB. Annalisa Pascarella
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB. Annalisa Pascarella
MATLAB.
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.
Funzioni matematico – statistiche I comandi matematici di più comune utilizzo, applicabili a scalari e matrici, sono: Sqrt(x), che calcola la radice quadrata.
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).
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Introduzione alla programmazione lll
Procedure e funzioni nei linguaggi di alto livello Lab Programmazione - turno /2006.
Algebra matriciale e linguaggio matriciale in MATLAB
3 a -4 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Laurea Specialistica in Ingegneria Matematica a.a
Strutture di controllo in C -- Flow Chart --
Esercitazione 2 – Generazione di variabili Matlab.
Le funzioni.
Analisi di Immagini e Dati Biologici
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.
Lezione 6 Strutture di controllo Il condizionale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
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.
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
Il linguaggio Fortran 90: 3. Procedure e Funzioni
JavaScript Generalità Cos'è JavaScript?
Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Introduzione a Javascript
Rappresentazione degli algoritmi
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.
Informatica Applicata al Suono Tutorial Matlab
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.
DEI - Univ. Padova (Italia) Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
INTRODUZIONE A MATLAB LEZIONE 2 Sara Poltronieri.
INTRODUZIONE A MATLAB Sara Poltronieri. Avvio del programma Avvio di Matlab (Windows) Start  Programmi  Matlab (o icona) Avvio di Matlab (Linux) terminale.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
Transcript della presentazione:

Dipartimento di Matematica Introduzione a MATLAB Stefano Vigogna Dipartimento di Matematica vigogna@dima.unige.it http://www.dima.unige.it/~vigogna/

Lezione 3 Programmazione Esercizi script function cicli operatori logici test condizionali input /output Esercizi

M-files Gli M-files sono files di testo contenenti codice MATLAB. L’estensione degli M-files è “.m”. Una volta creati, gli M-files possono essere richiamati dalla Command Window digitando il nome del file, senza estensione. NB: occorre selezionare come Current Directory la cartella dove sono salvati. Esistono 2 tipi di M-files: script e function.

Script Gli script sono semplici sequenze di comandi MATLAB. Non accettano dati in input né producono dati in output. Possono lavorare sui dati salvati nel Workspace e creare nuovi dati, che verranno regolarmente salvati nel Workspace. Tipicamente, vengono usati per creare programmi o procedure.

Function MATLAB ha le proprie function. Possiamo crearne di nuove attraverso la compilazione di un M-file. Un M-file di tipo function accetta variabili in input e può fornire variabili in output. Tutte le variabili usate all’interno della function sono locali. Le function possono essere richiamate nella Command Window, in uno script o in un’altra function.

Sintassi di una function function [y1 … ym] = func(x1 … xn) <corpo della function: sequenza di comandi che definisce il valore di y1 … ym in funzione di x1 … xn , eventualmente mediante la definizione di altre variabili locali> >> func(x1 … xn) per richiamare la function dalla Command Window. NB: il nome del file deve essere func.m .

Esempio Testo di una function traccia.m : function t = traccia(A) D = diag(A); t = sum(D);

Ciclo for … end Ciclo incondizionato. Sintassi: for j = i:p:f <blocco di istruzioni> end dove i = <valore iniziale>, p = <passo>, f = <valore finale>.

Esempio function m = media(v) n = length(v); s = 0; for j = 1 : n s = s + v(j); end m = s/n;

Esercizio 1 Scrivere una funzione che faccia la media degli elementi di una matrice (senza usare la funzione sum).

Operatori logici (1) Se ⊰ è uno fra i simboli < , <= , > , >= , ==, ~= , allora >> x ⊰ y dà 1 se la relazione è vera, 0 se la relazione è falsa, entrata per entrata. La relazione x ~= y significa “x diverso da y” e si scrive anche in variante binaria ne(x,y).

Operatori logici (2) È possibile connettere più relazioni mediante i connettivi logici & : end | : or ~ : not e raggrupparle mediante parentesi (…).

Esempio >> x = [30 12 19 7 5]; >> x > 15 ans = 1 0 1 0 0 >> x(x>15) 30 19

Esercizio 2 Creare una function che estragga da un vettore in input le entrate di modulo minore o uguale di uno scalare in input.

Ciclo while … end Ciclo condizionato. Sintassi: while <condizione> <blocco di istruzioni> end

Esempio function m = media(v) n = length(v); s = 0; i = 1; while i <= n s = s + v(j); i = i + 1; end m = s/n;

NOTA BENE La più grande potenzialità di MATLAB è quella di gestire i dati in senso matriciale. Pertanto, è sempre preferibile ricorrere ad operazioni matriciali ed evitare i cicli.

Test condizionali if <condizione> <blocco di istruzioni> (eseguito se cond1 è vera) elseif <condizione> (opzionale) (eseguito se cond2 è vera) else (opzionale) (eseguito se le precedenti cond sono false) end

Controllo dati in input I test condizionali possono essere usati per controllare i dati in input di una function. >> error(‘<…>’) per stampare un messaggio di errore. >> warning(‘<…>’) per stampare un messaggio di allerta.

Esempio function c = somma(a,b) [ra,ca] = size(a); [rb,cb] = size(b); if (ra~=rb) | (ca~=cb) error(‘Le matrici devono avere la stessa dimensione!’) else c = a + b; end

Interruzioni >> break per interrompere un ciclo (si salta all’istruzione seguente il ciclo); >> return per interrompere una function (si torna al programma da cui è stata chiamata).

input / output >> x = input(‘Inserisci il valore di x: ‘); Inserisci il valore di x: … per salvare un dato in input (x = valore assegnato) >> disp(‘<stringa>’) per stampare su schermo una stringa >> s = sprintf(‘Il valore di x è %d’,x); per creare stringhe contenenti valori >> disp(s) per stampare la stringa s

Esercizio 3 Scrivere una function che risolva il sistema lineare Ax=b, A matrice quadrata non singolare; la funzione deve controllare i dati in input e stampare un opportuno messaggio d’errore se qualche condizione non è verificata.

Esercizio 4 Scrivere una function che calcoli il fattoriale di un numero intero positivo, controllando il dato in input.

Esercizio 5 Scrivere un programma che, preso in input un intero n>=3 (controllare il dato), stampi la matrice A composta come segue, calcoli il suo determinante e stampi il risultato.