Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Documenti analoghi
Calcolo Numerico I - a.a Laboratorio 1 - Introduzione a MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 1 - Introduzione a MATLAB

Laboratorio di Matematica Computazionale A.A Lab. 1 - Introduzione a Matlab

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 2 - Introduzione a MATLAB

Lab. 1 - Introduzione a Matlab

Corso di Calcolo Numerico (3 crediti) Prof. Scuderi Letizia

Introduzione a Matlab

Fondamenti di Informatica

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( ) Scilab ( )

Introduzione a MATLAB

8 Introduzione MATLAB

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

CORSO DI LABORATORIO DI INFORMATICA

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

Laboratorio 1 Introduzione a Matlab R - Octave

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Introduzione al MATLAB c Parte 1 Variabili ed array

Laboratorio di Matlab

Informatica Applicata al Suono Tutorial Matlab

MATLAB parte II. Array

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

MATLAB Elementi di grafica Costrutti di programmazione

Corso di Matematica per la Chimica

3. Matrici e algebra lineare in MATLAB

Laboratorio di Matlab

Laboratorio 1 Introduzione a Scilab

Introduzione a Matlab. Renato Mainetti

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

Aritmetica in Floating Point

Introduzione al MATLAB c Parte 3 Script e function

MATLAB (1) Introduzione e Operazioni con array

Breve introduzione al linguaggio R

Introduzione. MATLAB è l acronimo di MATrix LABoratory

#include <iostream> // libreria che gestisce flusso di input e output. using namespace std; // uso di librerie standard del C++

Calcolo Numerico A.A Esercitazione n

MATRICI (ARRAY) IN MATLAB/OCTAVE

Funzioni di libreria. Richiedono tutte. #include <math.h> fabs(x) sqrt(x) pow(x,a) exp(x) log(x)

Introduzione a MATLAB. Fabio Rossi

Programmazione Procedurale in Linguaggio C++

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

Variabile, costante ed espressione

Introduzione a Matlab (e al Calcolo Numerico)

CORSO DI LABORATORIO DI INFORMATICA

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione al software R

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

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

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

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

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

Introduzione agli ambienti

Laboratorio con DERIVE

Laboratorio di MatLab

Introduzione al linguaggio Matlab - 1. A) Command Window: é la nestra in cui si eseguono in comandi.

ESERCITAZIONE MATLAB

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

Fondamenti di Informatica

Qualsiasi programma in C++ segue lo schema:

Laboratorio di Calcolo Numerico

A. Introduzione a Matlab

Foglio Elettronico Lezione 1

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Introduzione a Matlab

Programmazione Procedurale in Linguaggio C++

Introduzione alla programmazione in C(++)

Introduzione al MATLAB c Parte 2 Funzioni

Trasmissione del calore con applicazioni numeriche: informatica applicata a.a. 15/16

Introduzione al Foglio Elettronico

Laboratorio di Sperimentazioni di Fisica I MOD A. 14 ottobre 2009

Laboratorio 1. Introduzione a Matlab

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

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

INTRODUZIONE A MATLAB Matrix Laboratory

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

SYLL.1: Introduzione all uso di Matlab. MO X. SYLL.1: Introduzione all uso di Matlab p. 1/3

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

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

Introduzione a MATLAB

Modulo 3 DATI E OPERATORI. 1. Assegnare i dati da tastiera 2. Variabili e tipi di dati 3. Le stringhe 4. Un po di logica

Introduzione al Foglio Elettronico

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale

Come ragiona il computer. Problemi e algoritmi

Lezione 6 Introduzione al C++ Mauro Piccolo

Fondamenti di Informatica

MATLAB - Programmazione - 2. Antonino Polimeno

PON Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire.

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.

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

FONDAMENTI DI ELABORAZIONE NUMERICA DEI SEGNALI 1 Laboratorio

Introduzione all ambiente Matlab

Caratteristiche di un linguaggio ad alto livello

Mini-Corso di Informatica

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

Transcript:

Complementi di Matematica e Calcolo Numerico A.A. 2011-2012 Laboratorio 1 - Introduzione a MATLAB MATLAB =MAT(rix)-LAB(oratory) è un ambiente integrato per il calcolo scientifico utilizzabile sia in maniera interattiva che come linguaggio di programmazione. In Matlab ogni quantità (variabile) viene trattata come matrice. Un numero reale è una matrice 1 1. Sono predefinite numerose funzioni di uso generale(built-in functions), e raccolte di funzioni dedicate ad uno specifico argomento (toolboxes). Per informazioni su Matlab: www.mathworks.com Matlab è un software a pagamento. Octave è un software gratuito che ne riproduce buona parte delle funzioni fondamentali. Per info vedere www.octave.org.

Matlab in modalità interattiva All avvio di Matlab si accede ad una finestra di lavoro caratterizzata dal prompt >> Tutto quanto inserito dopo il prompt verrà eseguito dopo aver premuto il tasto enter. Se Matlab riconosce il comando digitato produrrà un output in caso contrario segnalerà un errore. In ogni caso il sistema ripropone al termine il prompt in attesa di un nuovo comando. Matlab si chiude con il comando quit 2

La prima cosa da fare: >> cd z: Altri comandi del sistema operativo importanti da conoscere: >> pwd Z:\ >> mkdir CalcNum >> ls. CalcNum.. >> cd CalcNum 3

Alcuni comandi Matlab importanti da conoscere: >> help >> doc permettono di ottenere informazioni dettagliate su qualsiasi comando. Il comando doc mostra anche quali pacchetti (toolboxes) siano installati nella versione in uso. Ad esempio: >> help sqrt >> doc sin Per cercare il nome esatto di un comando: >> lookfor cosine cerca i comandi nella cui descrizione appare la parola cosine (ATT.NE la documentazione di Matlab è in inglese!) 4

Scalari in Matlab Matlab valuta espressioni e le associa a variabili. Assegnazione della variabile z: >> z=6 z = 6 >> 6 6 se non specificato il valore 6 viene assegnato alla variabile ans che contiene sempre l ultimo valore non esplicitamente assegnato ad una variabile. >> a=3+2; >> a a = 5 Il ; alla fine dell istruzione sopprime la visualizzazione a schermo del risultato (ma non l esecuzione dell operazione!). Sono definite le operazioni elementari: +,,, /, (elevamento a potenza). >> a=3+2, b=5-3, d=3*4, e=3/2, f=2^3 5

Attenzione alle precedenze: >> 3+2*4 ans= 11 >> 3*2^4 ans= 48 Per alterare l ordine delle operazioni si utilizzano le parentesi tonde. >> (3+2)*4 ans= 20 >> (3*2)^4 ans= 1296 >> (who) whos (elenca le variabili attualmente attive in memoria) e dà alcune informazioni importanti sulle loro caratteristiche (tipo di oggetto, dimensioni...) >> clear all cancella il valore di tutte le variabili attive in memoria. Risolvere Esercizio 1. 6

Variabili predefinite: pi (pigreco), i,j (unità immaginaria), Ogni variabile può essere sovrascritta. Per tornare indietro: clear. >>pi 3.1416 >>pi=5; >> clear pi >> pi 3.1416 Funzioni matematiche predefinite: abs(x) x sqrt(x) x exp(x) e x, exp(1) = e = Costante di Nepero 2,7182818284... log(x) ln(x) sin(x) sen(x) cos(x) cos(x) tan(x) tan(x) asin(x) arcsen(x)... Per vedere l elenco: >> help elfun 7

Attenzione: Se z=a+bi è un numero complesso per definizione si ha z = a 2 +b 2 >> z=2+3i >> abs(z) 3.6056 Attenzione: Se z è un numero negativo log(z) non da errore ma restituisce un numero complesso: >> log(-1) 0 + 3.1416i infatti se z è un numero negativo o complesso, la funzione log restituisce il logaritmo complesso; Attenzione: Per valori di x in [ 1,1] la funzione asin(x) ritorna valori in [ π 2, π 2 ] per valori di x fuori da [ 1,1] restituisce un numero complesso. Risolvere Esercizio 2. 8

Vettori in Matlab Assegnazione di un vettore riga: >> w=[1 2 3] w = 1 2 3 Assegnazione di un vettore colonna: >> v=[1; 2; 3] w = 1 2 3 Altri modi di generare vettori riga: >> v=[1:8] v = 1 2 3 4 5 6 7 8 >> v=[1:.5:3] v = 1.0000 1.5000 2.0000 2.5000 3.0000 9

La sintassi generale è v=[valore iniz:passo:valore finale]. Il passo può essere anche negativo, ad es. v=[10:-.5:1]; Il comando linspace(valore iniziale, valore finale, N) genera N valori equispaziati fra valore iniziale e valore finale (estremi compresi). Ad esempio >> v=linspace(0,1,5) 0 0.2500 0.5000 0.7500 1.0000 Per accedere alla componente di un vettore: >> v(3) 0.5 Attenzione: in Matlab l indicizzazione inizia da 1 e non da 0! Matlab produce un messaggio di errore quando si cerchi di accedere ad una componente non definita, ad esempio: 10

>> z=v(0)??? Subscript indices must either be real positive integers or logicals. Nota: esiste in Matlab la parola chiave end per accedere all ultimo elemento di un vettore. Ad es., se v ha dieci elementi, v(end) equivale a v(10). Per conoscere la lunghezza di un vettore v: >> length(v) 5 Per controllare la dimensione di una variabile v: >> size(v) 1 5 Il comando zeros(n,1)( zeros(1,n)) produce un vettore colonna (riga) di lunghezza n con elementi tutti nulli. Il comando ones(n,1) (ones(1,n)) genera un vettore colonna (riga) con tutte le componenti pari a 1. 11

Operazioni su vettori Dati i vettori v=[1 2 3 4] e w=ones(1,4). Trasposizione: >> u=v u = 1 2 3 4 Somma (sottrazione) algebrica tra vettori di ugual dimensioni >> v+w 2 3 4 5 >> v-w 0 1 2 3 Prodotto scalare (v,w) = (v 1 w 1 +v 2 w 2 +...+v n w n ). >> v*w (oppure dot(v,w)) 10 12

Norma euclidea v = n i=1 v2 i : >> norm(v,2) (oppure >> norm(v)) 5.4772 Risolvere Esercizio 3. 13

Operazioni su vettori componente per componente. Consideriamo i vettori di ugual dimensione a e b appena definiti. il prodotto componente per componente genera il vettore: (a 1 b 1,a 2 b 2,a 3 b 3 ) >> z= a.*b z = 4 10 18 la divisione componente per componente genera il vettore: (a 1 /b 1,a 2 /b 2,a 3 /b 3 ) >> a./b 0.2500 0.4000 0.5000 l elevamento a potenza componente per componente genera il vettore: (a b 1 1,a b 2 2,a b 3 3 ) >>a.^b 1 32 729 >>a.^3 1 8 27 14

Manipolazione di sottoblocchi di vettori e concatenazione Siano v=[1 2 3 4 5] e w=[100 200]. Per sostituire alle ultime due componenti di v le componenti di w: >> v=[1 2 3 4 5]; w=[100 200]; >> v(end-1:end)=w v= 1 2 3 100 200 Pereliminaredavlaterzaelaquartacomponenteusiamoilvettore vuoto []: >> v=[1 2 3 4 5]; >> v(3:4)=[]; v= 1 2 5 Per concatenare i due vettori: >> z=[v w] z= 1 2 3 4 5 100 200 15

Altre funzioni predefinite sui vettori >> v=[1,5,3]; >> sum(v) 9 >> prod(v) 15 >> max(v) 5 >> min(v) 1 >> sort(v) 1 3 5 >> diff(v) % => [v(2)-v(1), v(3)-v(2),...v(end)-v(end-1)]. 4-2 Risolvere Esercizio 4. 16

Che cos è? Programmare con Matlab: Script-files È un file con estensione.m (ad esempio: myfile.m). Contiene una sequenza di istruzioni Matlab, scritte come se fossero digitate in modalità interattiva. Digitando il nome di uno script-file a destra del prompt: >> myfile vengono eseguite in successione tutte le istruzioni contenute nel file. Le variabili assegnate in uno script-file sono visibili dall esterno, ovvero persistono in memoria al termine dell esecuzione. Alcune buone regole Il nome di uno script-file deve essere diverso dai nomi delle variabili che esso elabora e dai nomi delle variabili presenti in Workspace, altrimenti non verrà eseguito. Non assegnare ad uno script-file il nome di una funzione predefinita di Matlab. Per verificare se un nome esiste già: >> exist( nome ) 17

Esempio Scrivere uno script-file che dato n N, calcoli il fattoriale n! = 1 2 3...(n 1) n Per genereare un nuovo script-file selezioniamo dal menu: file new Mfile fattoriale.m n=input( inserisci numero intero positivo ) fact=prod([1:n]) disp( fattoriale= ) disp(fact) Risolvere Esercizio 5. 18