Matlab: Variabili e Array. Informatica B

Похожие документы
PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Codifica dell Informazione

Linguaggio C++ 8. Matrici

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

Quadro riassuntivo di geometria analitica

ESERCITAZIONE MATLAB

Array multidimensionali e stringhe

La codifica. dell informazione

3. Matrici e algebra lineare in MATLAB

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

Codifica dell Informazione

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

codifica in virgola mobile (floating point)

Disequazioni in una incognita. La rappresentazione delle soluzioni

Funzioni di secondo grado

Cosa vuol dire misurare l'area di una figura piana a contorno curvilineo?

Risoluzione di problemi ingegneristici con Excel

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

12 Funzioni e Strutture con MATLAB

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.

MATLAB (1) Introduzione e Operazioni con array

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

Bit, Byte, Word e Codifica Dati

Geometria analitica di base (seconda parte)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Rappresentazioni numeriche

Le funzioni reali di una variabile reale

Sistemi di equazioni di secondo grado

Definizione: Dato un sottoinsieme non vuoti di. Si chiama funzione identica o identità di in sé la funzione tale che.

VISUAL BASIC FOR APPLICATION

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

La rappresentazione delle informazioni

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:

Codifica dei Numeri. Informatica ICA (LC) 12 Novembre 2015 Giacomo Boracchi

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

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

4 GLI ARRAY E LE STRINGHE

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Introduzione agli ambienti

Esercitazione di Matematica su matrici e sistemi lineari

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

ANALISI DI SEGNALI TEMPO VARIANTI

I.I.S. "Morea-Vivarelli" -- Fabriano CORSO DI TECNOLOGIE E TECNICHE DI RAPPRESENTAZIONE GRAFICA

Richiami di aritmetica(2)

Introduzione al MATLAB c Parte 1

Laboratorio di Architettura degli Elaboratori

Metodologie informatiche per la chimica

Cifre significative delle misure di grandezze fisiche

1. riconoscere la risolubilità di equazioni e disequazioni in casi particolari

- Spiega il procedimento seguito, anche in forma scritta, mantenendo il controllo sia sul processo risolutivo, sia sui risultati.

La simulazione con DERIVE Marcello Pedone LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE

SCOPO DELL ANALISI DI CORRELAZIONE

Numeri Frazionari. Numeri Frazionari

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

CORSO DI TECNICA ED ECONOMIA DEI TRASPORTI A.A DIAGRAMMI DEL MOTO SEMPLIFICATI

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD.

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Esercizi sui sistemi di equazioni lineari.

Matlab: Strutture di Controllo. Informatica B

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

Esercitazione Dicembre 2010 (2 ore)

EQUAZIONE DELLA RETTA

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

CORSO ZERO DI MATEMATICA

Metodo dei minimi quadrati e matrice pseudoinversa

Cifre significative. Andrea Bussani. 4 novembre 2012

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Soluzione dei sistemi lineari con metodo grafico classe 2H

Modulo 2 Data Base - Modello Relazionale

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

CAPITOLO V. DATABASE: Il modello relazionale

Punti nel piano cartesiano

Laboratorio di Matlab

Informatica B

Quali condizionisi si possono richiedere sulla funzione interpolante?

Questo paragrafo e quello successivo trattano gli stessi argomenti del capitolo B6 relativo alla soluzione grafica dei sistemi di primo grado.

ECONOMIA APPLICATA ALL INGEGNERIA (Docente: Prof. Ing. Donato Morea) Microeconomia Esercitazione n. 1 - I FONDAMENTI DI DOMANDA E DI OFFERTA

SUI SISTEMI DI DISEQUAZIONI IN DUE INCOGNITE

i = unità immaginaria,

C I R C O N F E R E N Z A...

Equazioni Polinomiali II Parabola

Definizione di metodi in Java

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Anno 2. Sistemi di equazioni di secondo grado

Транскрипт:

Matlab: Variabili e Array Informatica B

Array e variabili L unità fondamentale di dati in MATLAB è l array Una variabile in MATLAB è una regione di memoria che contiene un array Ha un nome definito dall utente Per i nomi valgono regole simili a quelle del C Il C è un linguaggio a tipizzazione forte Le variabili vanno dichiarate prima dell uso Il MATLAB è un linguaggio a tipizzazione debole Le variabili vengono create assegnando ad esse dei valori Il loro tipo è determinato dal tipo dei valori assegnati

Array e Variabili (2) Scalari a = 3 b = 55 Array Matrice nome = valore nome = [v1 v2 vn] a=[3 4 2 3] nome = [v11 v12 v1n; ;vm1 vm2 vmn] a = [3 4 2; 4 5 6] 3 4 2 4 5 6

Tipo double Una variabile di tipo double contiene uno scalare o un array di numeri espressi in 64 bit con doppia precisione Questi numeri possono essere Reali, es var1 = -10.7; Immaginari, es var2 = 4i; var3 = 4j; Complessi, es var3 = 10.3 + 10i; Es: x = [-1.3 3.1+5.3j 0] Le parti reali e immaginarie possono essere positive e negative nell intervallo di valori [10-308, 10 308 ], con accuratezza di 15-16 cifre decimali

Tipo char Una variabile di tipo char contiene uno scalare o un array di valori a 16 bit, ciascuno dei quali rappresenta un carattere Es: commento = questa è una stringa ; Nome della variabile Array di 1x21 caratteri

Creazione ed inizializzazione di una variabile Le variabili sono create al momento dell inizializzazione Modi di inizializzazione Assegnamento Lettura dati da tastiera Lettura da file

Assegnamento variabile = espressione Esempi contenuto di a a = [0 7+1]; Risultato b = [a(2) 5 a]; a = [0 8] secondo elemento di a b = [8 5 0 8] Non tutti gli elementi devono essere specificati alla creazione c(2, 3) = 5; 0 0 0 0 0 5

Assegnamento (2) L array può essere esteso successivamente d = [2 5]; d(4)=2; d = [2 5 0 2] Operatore di trasposizione g = d ; 2 5 0 2 Come evitare di enumerare esplicitamente tutti i valori, uso dell operatore : x = 1:2:10; x = [1 3 5 7 9] l = 1:3; m = [l l ] 1 1 2 2 3 3

Assegnamento (3) funzioni predefinite Funzione zeros (n) zeros (m,n) zeros (size(arr)) ones(n) ones(m,n) ones(size(arr)) eye(n) eye(m,n) length(arr) size(arr) Significato Genera una matrice nxn di zeri Genera una matrice mxn di zeri Genera una matrice di zeri della stessa dimensione di arr Genera una matrice nxn di uno Genera una matrice mxn di uno Genera una matrice di uno della stessa dimensione di arr Genera la matrice identità nxn Genera la matrice identità mxn Ritorna la dimensione più lunga del vettore Ritorna il numero di righe e colonne dell array

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

Assegnamento (5) uso di uno scalare per assegnare valori ad un array Esempio 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 Esempio 2 4 4 3 m(1:2, 1:2) = 4 4 4 3 3 3 3 3 3 3 la regola si applica anche ai sottoarray

Variabili predefinite Matlab definisce un insieme di variabili predefinite (es, pi) Queste variabili corrispondono in qualche caso a costanti Attenzione! Il valore di queste variabili può essere modificato, per esempio circ1=2*pi*10; pi = 3; 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 predefinite più comuni Variabile pi Scopo contiene 15 cifre significative di π i, j contiene il valore i ( 1 ) inf (o Inf) nan clock date eps ans rappresentazione dell infinito (ottenuto di solito come risultato di una divisione per 0) Not-A-Number è il risultato di una operazione matematica non definita, es 0/0 contiene la data e l orario corrente. E` un vettore di sei elementi (anno, mese, giorno, ora, minuti, secondi) contiene la data corrente sotto forma di stringa epsilon: la più piccola differenza rappresentabile tra due numeri Variabile speciale usata per immagazzinare risultati non assegnati ad altre variabili

Operazioni con scalari e array Operazioni per gli scalari: + - * / ^ Operazioni per gli array Array operation: viene eseguita sugli elementi degli array coinvolti (devono avere lo stesso numero di righe e colonne) 1 2 2 3 3 5 a= b= a+b = a.*b= 3 4 5 7 8 11 2 6 15 28 Matrix operation: segue le regole dell algebra lineare a= 1 2 b= 2 3 a*b = 3 4 5 7 12 17 ik kj 26 37 k a * b

Operazioni tipiche per gli array Operazione Sintassi Matlab Commenti Array addition a + b Array e matrix addition sono identiche Array subtraction a b Array e matrix subtraction sono identiche Array multiplication a.* b Ciascun elemento del risultato è pari al prodotto degli elementi corrispondenti nei due operandi Matrix multiplication a * b Prodotto di matrici Array right division a./ b risultato(i,j)=a(i,j)/b(i,j) Array left division a.\ b risultato(i,j)=b(i,j)/a(i,j) Matrix right division a / b a*inversa(b) Matrix left division a \ b inversa(a)*b Array exponentiation a.^ b risultato(i,j)=a(i,j)^b(i,j)

Matrix left division Serve per risolvere sistemi di equazioni lineari a 11 x 1 +a 12 x 2 +a 13 x 3 =b 1 a 21 x 1 +a 22 x 2 +a 23 x 3 =b 2 a 31 x 1 +a 32 x 2 +a 33 x 3 =b 3 può essere espresso come Ax=B con a 11 a 12 a 13 b 1 A = a 21 a 22 a 23 B= b 2 x = a 31 a 32 a 33 b 3 x 1 x 2 x 3 di conseguenza, x = A -1 B=A\B

Altre funzioni Funzione Scopo ceil(x) floor(x) fix(x) max(x) min(x) approssima x all intero immediatamente maggiore approssima x all intero immediatamente minore approssima x all intero più vicino verso lo zero ritorna il valore massimo nel vettore x e, opzionalmente, la collocazione di questo valore in x ritorna il valore minimo nel vettore x e, opzionalmente, la collocazione di questo valore nel vettore mod(m,n) mod(x,y) è x - n.*y dove n = floor(x./y) se y ~= 0 round(x) rand(n) approssima x all intero più vicino genera una matrice di NxN numeri casuali

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 che hanno valori delle ascisse in x, delle ordinate in y e li congiunge con una linea, per dare continuità al grafico funzioni xlabel per visualizzare nome asse ascisse, ylabel per cubica ordinate, title per il titolo 1000 800 600 400 200 ordinate 0-200 -400-600 -800-1000 -10-8 -6-4 -2 0 2 4 6 8 10 ascisse

Un esempio di cinematica Due treni partono da due stazioni adiacenti, che distano 15km, viaggiando a velocità di 50m/s e 30m/s in direzione opposta Costruire un grafico che mostra il loro movimento, fino a quando il più veloce raggiunge la destinazione Il più veloce impiega 15000/50=300s DistanzaTreno1=50 t; DistranzaTreno2=15000-30 t; (per mostrare la provenienza dalla direzione opposta)

Soluzione t=0:1:300; p1=50 * t; p2=15000-30* t; plot(t,p1); hold on %adesso è possibile inserire nuove curve sul grafico plot(t,p2) hold off

Risultati ottenuti con l esempio