Lab 5 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 9 Agosto 2013

Documenti analoghi
Lab 5 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 7 Dicembre2013

Lab 5 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 1 Dicembre 2014

Lab 5 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 15 Dicembre 2015

Lab 7 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 19 Gennaio 2016

Strumenti per il calcolo numerico Matlab/Octave

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Input/output. Marco D. Santambrogio Ver. aggiornata al 24 Agosto 2015

Lab 8 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 20 O0obre 2015

Strumenti per il calcolo numerico Matlab/Octave

Introduzione a Matlab

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici

Diagrammi 2D e 3D Funzioni di ordine superiore

Diagrammi 2D e 3D Funzioni di ordine superiore

Lab 4 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 20 O0obre 2015

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

Lab 4 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 24 Agosto 2015

Introduzione a MATLAB

Diagrammi 2D e 3D Funzioni di ordine superiore

Prof. Marco Masseroli

8 Introduzione MATLAB

8 Introduzione MATLAB

Lab 3 Info B. Buon 314mo giorno del 2015! Marco D. Santambrogio Matteo Ferroni

Matlab: introduzione

Lab 1 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 12 O0obre 2013

INTRODUZIONE A MATLAB

Introduzione. Corso di Metodi Numerici. 06 Marzo 2019

Esercitazione 00 Introduzione a Matlab

Introduzione a Matlab

Introduzione a Matlab

Lab 3 L Aprile 2015

Esercitazione 1: Introduzione a MATLAB

Fondamenti di Informatica e Programmazione

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Introduzione al MATLAB c Parte 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Script. Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 13 Agosto 2014

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

Lab 1 Info B. Marco D. Santambrogio Riccardo Cattaneo Ver. aggiornata al 20 O0obre 2014

Introduzione al MATLAB c Parte 3 Script e function

Matlab: Variabili e Array. Informatica B

MATLAB c Utilizzo di Matlab. Operazioni fondamentali. Elementi di grafica.

MATLAB Elementi di grafica Costrutti di programmazione

Introduzione a MATLAB

Introduzione a Matlab

Introduzione a MATLAB

Introduzione al MATLAB c Parte 1 Variabili ed array

Introduzione al MATLAB c Parte 1 Variabili ed array

Fondamenti di Informatica

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

MATLAB - Introduzione. Antonino Polimeno

Array n-dimensionali e tipi di dati strutturati

INTRODUZIONE A MATLAB. Introduzione. Calcolatrice base. Calcolatrice base. Variabili predefinite o speciali. Variabili predefinite o speciali

Matlab: Script e Funzioni

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

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Fondamenti di Informatica A. A / 1 9

Introduzione a MATLAB

Ciclo di seminari: Metodi Computazionali per la Finanza

Introduzione allo Scilab Parte 4: matrici; esempi.

8 Introduzione MATLAB

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Array, matrici. Marco D. Santambrogio Ver. aggiornata al 21 Marzo 2013

Strumenti per il calcolo numerico Matlab/Octave. Informatica B Prof. A. Morzenti

Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici

Introduzione a Matlab

Array n-dimensionali e tipi di dati strutturati

Introduzione a Matlab (e al Calcolo Numerico)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE. Lab 4 Info B. Luca M. Cassano SadeghM. Astaneh

STATISTICA LAB. Analisi dei dati con R - Ex 2. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

3. Matrici e algebra lineare in MATLAB

Strumenti per il calcolo numerico Matlab/Octave. Informatica B Prof. A. Morzenti

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function

Strutture di controllo condizionali in Matlab

MATLAB Alcune funzioni utili: fprintf, length, size

Introduzione a Matlab

Disegnare nell intervallo [0, 1] con precisione 0.01 il grafico delle seguenti quattro funzioni

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

Foglio di esercizi n.1

Vettori Matrici Grafi. Renato Mainetti

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

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Laboratorio di Matlab

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

Analisi Numerica I Introduzione a Matlab

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Lab 1 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 24 Agosto 2015

Introduzione a Matlab

Matlab è un sistema software per calcolo numerico Sistema = collezione di componenti SW (pensiamoli come programmi ) Ampiamente utilizzato per

Programmare con MATLAB c Parte 5 Cicli: for e while

Transcript:

Lab 5 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Riccardo Cattaneo cattaneo@elet.polimi.it Ver. aggiornata al 9 Agosto 2013

Lab 4: Obiettivi Introduzione a Matlab/Octave array e matrici inserimento dati costrutti condizionali stampa a video 2

Matlab Cos è Matlab: strumento (e corrispondente linguaggio) per elaborazioni di calcolo numerico NB: sta per MATrix LABoratory» centrato sulle matrici (ma include generiche funzionalità matematiche) usato nei successivi corsi di calcolo numerico MATLAB è uno strumento commerciale distribuito, su licenza NON gratuita, da The MathWorks Inc Student edition disponibile quando si è al Politecnico (http://www.asi.polimi.it/software/matlab.html) Esiste un altro strumento di nome Octave identico nella concezione, molto simile per gli aspetti operativi disponibile gratuitamente, vedi www.gnu.org/software/octave/ 3

Screenshot interfaccia MATLAB Mostra le variabili nel workspace Contenuto della directory corrente Storia dei comandi Finestra dei comandi Lancia i tool di MATLAB ed altro -- 4-4 - 4

Screenshot dell interfaccia OCTAVE Linea di comando dell interprete 5

GUI di Octave 6

Lab 4: Agenda Esercizi Lab4 Warm Up (50 ) Crea matrici Accesso ai dati di un array Scalari Vs Array Sottoarray Qualche cosa un pò più divertente (85 ) Tabelline Funzione interne Altri exe (105 ) Stampa a video Disegno fisica, con problema da risolvere Cambio base 7

Alcuni HELP comando: mostra a video il manuale di utilizzo di uno specifico comando. X': traspone la vettore (da vettore riga a vettore colonna e viceversa) LENGTH(X): ritorna la lunghezza di un vettore SUM(X): calcola la somma di tutti gli elementi di un vettore MEAN(X): calcola il valore media dei valore contenuti in un vettore MEDIAN(X): ritorna il mediano tra i valore contenuti in un vettore ABS(X): valore assoluto EVAL(stringa): esegue il contenuto della stringa come fossero comandi di uno script (potete utilizzarlo nell'esercizio 6 per ricevere anche la funzione che volete integrale) 8

Lab 4: Prima parte Esercizi Lab4 Warm Up (50 ) Crea matrici Accesso ai dati di un array Scalari Vs Array Sottoarray Qualche cosa un pò più divertente (85 ) Altri exe (105 ) 9

Problema: crea matrici Si crei una matrice di dimensione 3x3 di valori non necessariemente tutti nulli 10

Crea matrici - Soluzione matrix = [1 2 3 ; 4 5 6; 7 8 9] E se fosse stata 100 x 100??? matrix = magic (100) 11

Problema: accesso ai dati Si crei una matrice 4x4 di valori non necessariamente nulli Si indichi il valore nella posizione (2,2) 12

Accesso ai dati - Soluzione 13

Curiosità Si può accedere a un array a più dimensioni come se ne avesse una sola Usando un unico indice si segue l ordine della memorizzazione Da NON usare nella programmazione ma aiuta a capire certi costrutti... 14

Array: memorizzazione Matrici memorizzate per colonna: colonna 1, poi colonna 2, 3, etc. ogni colonna memorizzata per indici di riga crescenti Array memorizzati in forma lineare nella RAM variando più velocemente i primi indici più lentamente quelli successivi NB: opposto a quanto avviene in C 1 2 3 4 5 6... 1 3 5 2 4 6... 15

Operazioni con scalari e array Operazioni per gli scalari: + - * / ^ Elevamento a Operazioni per gli array potenza Array operation: eseguita sugli elementi corrispondenti degli array coinvolti (devono avere lo stesso numero di righe e colonne); si indica aggiungendo un punto prima dell operatore aritmetico a= 1 b= 2 2 3 a.* b= 3 4 5 7 2 6 15 28 Matrix operation: segue le regole dell algebra lineare (esempio: prodotto righe per colonne) a= 1 b= 2 a*b 2 3 = 3 4 5 7 12 17 26 37 ( * b) ij = a a * b k ik kj 16

Problema: Scalari Vs Array Dato un vettore di 3 elementi vet = [1 2 3] Si calcoli l elevamento a potenza di ogni elemento (risp: 1 4 9) 17

Scalari Vs Array - Soluzione vet = [1 2 3]; vet =.^2 18

Curiosità: cosa succede con il. 19

Problema: Sottoarray Dato una matrice temp Si sostituisca la seconda riga con: -1-2 -3 E la quarta riga con: -4-5 -6 20

Sottoarray - Soluzione 21

Nota sui sottoarray Perchè: temp(2:2:4, :) e non temp(2:4, :)? Perchè temp(2:4, :) sono le righe 2, 3 e 4!!! 22

Altri esempi m = 9 8 7 6 5 4 3 2 1 0 11 12 0 0 0 >> m([1 4], [2 3]) ans = 8 7 11 12 >> m(1:2:5, 1:end) ans = 9 8 7 3 2 1 0 0 0 >>>> m(1:2:5, :) ans = 9 8 7 3 2 1 0 0 0 >> m(2:2:4, :) = [-1-2 -3; -4-5 -6]; >> m m = 9 8 7-1 -2-3 3 2 1-4 -5-6 0 0 0 >> tutti gli elementi sulle righe 1 e 4 e sulle colonne 2 e 3 tutti gli elementi delle righe 1, 3 e 5 notazione : abbreviata per 1:end, cioè tutti i valori di quell indice uso della notazione dei sottoarray per individuare elementi oggetto di assegnamento 23

Lab 4: Agenda Esercizi Lab4 Warm Up (50 ) Qualche cosa un pò più divertente (85 ) Tabelline Funzione interne Altri exe (105 ) 24

Problema: Tabelline Stampare a video la tabellina della moltiplicazione (da 1 a 10) per un numero inserito dall'utente 25

Tabelline - Soluzione vet=[1:10]; c=3; c*vet E le tabelline da 1 a 10? vet=[1:10]; vet2=vet ; vet2*vet 26

Problema: funzioni interne Ricevere un vettore è calcolare la somma, la media e il mediano usando per media e mediano sia i comandi integrati (MEAN e MEDIAN) che non. 27

Funzioni interne - Soluzione %Senza MEAN e MEDIAN v=input('vector '); disp(sum(v)); disp(sum(v)/length(v)); diff=abs(v-(sum(v)/length(v))); [w, p]=min(diff); v(p); 28

Lab 4: Terza Parte Esercizi Lab4 Warm Up (50 ) Qualche cosa un pò più divertente (85 ) Altri exe (105 ) Stampa a video Disegno fisica, con problema da risolvere Cambio base 29

Problema: Stampa a video Disegnare a video la seguente funzione definita a tratti: y=x (se x>=0 and x<=5) y=2*x (se x>5 and x<=10) y=-x (x>10 and x<=20) 30

Stampa a video - Soluzione step=0.01; x=[0:step:5]; y=x; plot(x,y); hold on; x=[5:step:10]; y=2.*x; plot(x,y); x=[10:step:20]; y=-1.*x; plot(x,y); 31

Problema: Disegno fisica Disegnare la gittata di un corpo che cade da 100m di altezza quando lanciato orizzontalmente con un velocità a vostro piacimento Quanto tempo impiega a cadere a terra? Quanto si sposta in orizzontale prima di cadere a terra? 32

Disegno fisica - Soluzione step=0.01; v=8.9; t=[0:step:100]; y=(100-9.8.*(t.^2)); x=(v.*t); y1=abs(y); [w, p]=min(y1); disp('time:'); disp(t(p)); disp('distance:'); disp(x(p)); plot(x,y); 33

Problema: Cambio base Ricevere un vettore che rappresenti le singole cifre di un numero in base 2 stampare a video il valore in base 10 34

Cambio base - Soluzione v=input('vector: '); esp=[length(v)-1:-1:0]; basi=2.^esp; disp(sum(v.*basi)); 35

Fonti per lo studio + Credits Fonti per lo studio Introduzione alla programmazione in MATLAB, A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini, Ed.Esculapio Capitolo 1 Credits Prof. A. Morzenti Emanuele Panigati https://sites.google.com/site/engpanigati/ 36