Matlab: introduzione

Похожие документы
Introduzione a Matlab

Matlab: Variabili e Array. Informatica B

Strumenti per il calcolo numerico Matlab/Octave

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

Strumenti per il calcolo numerico Matlab/Octave

Caratteristiche di un linguaggio ad alto livello

Informatica B. Daniele Loiacono

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

INTRODUZIONE A MATLAB

Costanti e Variabili

Algoritmi stabili e instabili

Informatica Applicata al Suono Tutorial Matlab

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Introduzione alla programmazione in linguaggio C

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

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

Introduzione a Matlab (e al Calcolo Numerico)

Lezione 6 Introduzione al C++ Mauro Piccolo

Introduzione al MATLAB c Parte 3 Script e function

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

Esercitazione 1: Introduzione a MATLAB

Fondamenti Teorici e Programmazione

Informatica (A-K) 5. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Le basi del linguaggio Java

Introduzione alla programmazione

Introduzione a Matlab Costruzione di Macchine 2 Prof. Sergio Baragetti

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

Corso sul linguaggio C

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

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

Транскрипт:

Matlab: introduzione Daniele Loiacono, Vittorio Zaccaria Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z INGEGNERIA ENERGETICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione S - Z

Introduzione a Matlab Matlab è uno strumento per il calcolo numerico un ambiente di sviluppo integrato ed uno specifico linguaggio di programmazione una ricca libreria di funzioni matematiche Alternativa gratuita di nome Octave http://www.gnu.org/software/octave Testo suggerito: Introduzione alla programmazione in MATLAB. Campi, Di Nitto, Loiacono, Morzenti, Spoletini. Esculapio Editrice.

Introduzione a Matlab È un linguaggio di alto livello (come il C o il Java) Linguaggio interpretato Non richiede la fase di traduzione in codice macchina A differenza del C, le variabili vengono create assegnando ad esse dei valori L unità fondamentale di dati in MATLAB è l array: ogni variabile è un array (le variabili scalari sono array con un solo elemento).

Introduzione a Matlab Le variabili sono create al momento dell inizializzazione Modi di inizializzazione Assegnamento Lettura dati da tastiera Lettura da file

Creazione per assegnamento Scalari a = 3 b = 55 Array a=[3 4 2 3] 3 4 2 4 5 6 Matrice a = [3 4 2; 4 5 6]

Esempi Esempio a = [0 7+1]; Risultato a = [0 8] Notazione per accedere all i-esimo elemento nell array vettore: vettore(i) Esempio b = [a(2) 5 a]; Risultato b = [8 5 0 8]

Esempi Non tutti gli elementi devono essere specificati alla creazione ad esempio: c(2, 3) = 5; Risultato: c = [ 0 0 0; 0 0 5 ] 0 0 0 0 0 5

Esempi: L array può essere esteso successivamente d = [2 5]; d(4)=2; Risultato d = [2 5 0 2] Operatore di trasposizione g = d ; Risultato: g = [ 2; 5; 0; 2 ] 2 5 0 2

Esempi Come evitare di enumerare esplicitamente tutti i valori, uso dell operatore : x = 1:2:10; Risultato x = [1 3 5 7 9] inf: passo: sup Altro Esempio: l = 1:3; m = [l l ] Risultato m = [ 1 1 ; 2 2; 3 3 ]

Funzioni predefinite

Utilizzo funzioni predefinite Esempi a = zeros(2); 0 0 b = zeros(2,3); 0 0 0 0 0 0 c = [1 2; 3 4]; d = zeros(size(c)); 0 0 0 0

Tipi in virgola mobile Questi numeri possono essere Reali var1 = -10.7; Immaginari Complessi, var2 = 4i; var3 = 4j; (i e j sono sinonimi) var3 = 10.3 + 10i;

Stringhe Una variabile puo contenere un array di caratteri (codificati con 16 bit) commento = questa è una stringa ; Array di 1 x 21 caratteri

Assegnamento di scalari ad array m(1:4, 1:3) = 3 3 3 3 3 3 3 3 3 3 3 3 3 Regola: il modo con cui uno scalare viene assegnato ad un array dipende dalla forma dell array che viene specificata a sinistra dell assegnamento m(1:2, 1:2) = 4 4 4 3 4 4 3 3 3 3 3 3 3

Variabili speciali Matlab definisce un insieme di variabili predefinite (es, pi) Il valore di queste variabili può essere modificato, per esempio circ1=2*pi*10; pi = 5; circ2=2*pi*10; Il valore di circ2 non sarà più la circonferenza di un cerchio. E` fortemente sconsigliato modificare il valore di una variabile predefinita

Variabili speciali

Operazioni su scalari e array Classiche operazioni come in C piu elevamento a potenza ^: 2^3 = 8 Operazioni sugli array (somma): 1 2 3 4 2 3 5 7 a = b = a+b = 3 5 8 11

Operazioni su scalari e array Operazioni sugli array (prodotto elemento per elemento): a = 1 2 b = 2 3 a.*b = 2 6 3 4 5 7 15 28

Operazioni su scalari e array Operazioni sugli array (prodotto matriciale): a = 1 2 b = 2 3 a*b = 12 17 3 4 5 7 26 37

Operazioni definite

Matrix left division Un sistema di equazioni: x e l incognita, coefficienti a e b noti Puo essere visto come Ax=b: x = A \ B = inversa(a) * B

Altre funzioni

Strutture di controllo (if) if rem(a, 2) == 0 disp('a pari') b = a/2; end

Strutture di controllo (switch case) switch input_num case -1 disp('negative one'); case 0 disp('zero'); case 1,2 disp('one or two'); otherwise disp('other value'); end

Strutture di controllo (for) for n = 2:2:6 x(n) = 2 * x(n - 1); end

Strutture di controllo (while) n = 1; while prod(1:n) < 1e100 n = n + 1; end

Diagrammi a due dimensioni Diagramma = insieme di coppie che rappresentano coordinate di punti. Si usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinate. plot(x,y) disegna digramma cartesiano dei punti congiunge con una linea x = -10:0.1:10; y=x.^3; plot(x,y); xlabel('ascisse'); ylabel('ordinate'); title('cubica');