MATLAB (1) Introduzione e Operazioni con array



Похожие документы
Introduzione al MATLAB c Parte 2

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

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

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

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

Rapida Introduzione all uso del Matlab Ottobre 2002

Laboratorio di Matlab

Introduzione al MATLAB c Parte 1

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

Introduzione a Matlab

INTRODUZIONE A MATLAB Matrix Laboratory

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

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

Lezioni su MATLAB. Ingegneria Civile/Meccanica

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente

CORSO DI LABORATORIO DI INFORMATICA

MATLAB (3) - Grafica 2 e 3D

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

BOZZA Introduzione a MATLAB

Appunti sull uso di matlab - I

Lab. 1 - Introduzione a Matlab

Introduzione agli ambienti

INTRODUZIONE A MATLAB

Parte 2. Determinante e matrice inversa

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

Richiesta pagina PHP (es: index.php)

Funzioni in C. Violetta Lonati

Documentazione esterna al software matematico sviluppato con MatLab

Cenni sull'impiego di Matlab. Matrici

Introduzione a MATLAB INTRODUZIONE A MATLAB

Alcune regole di base per scrivere un programma in linguaggio C

Matlab: Strutture di Controllo. Informatica B

Grafici tridimensionali

Corso di Matematica per la Chimica

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Matematica in laboratorio

3. La sintassi di Java

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

Introduzione al Foglio Elettronico

Introduzione al MATLAB c

Parte 3. Rango e teorema di Rouché-Capelli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

INFORMATICA - I puntatori Roberta Gerboni

Software di calcolo numerico, analisi, statistica e simulazione. Un esempio pratico: Octave

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

Fogli Elettronici: MS Excel

Vettori Algoritmi elementari di ordinamento

Verifica della correttezza formale del numero di partita IVA

Strumenti per la Progettazione

UD6 - MATLAB. Gestione della grafica

Manuale di MATLAB. (livello base)

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Integrazione numerica

12 Funzioni e Strutture con MATLAB

Lezione 8. La macchina universale

Elementi di Algebra Relazionale

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

Note sull uso di R per l Algebra Lineare

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

Introduzione all uso di

Vettori ed assegnamenti in R

MATRICI E DETERMINANTI

Scilab: I Polinomi - Input/Output - I file Script

Syllabus (estratto) Foglio elettronico. Excel. Open office - Office. Principio e funzionamento 26/11/2012. A. Ferrari

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

Introduzione a Matlab (e al Calcolo Numerico)

Introduzione a Matlab

Metodi Stocastici per la Finanza

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

Applicazioni lineari

Laboratorio Algoritmi 2014 Secondo Semestre

Diagonalizzazione di matrici e applicazioni lineari

Introduzione allo Scilab Parte 3: funzioni; vettori.

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

MATLAB. Note Introduttive. Matlab

Studente: SANTORO MC. Matricola : 528

Condizionamento di sistemi lineari.

Matrice rappresent. Base ker e img. Rappresentazione cartesiana ker(f) + im(f).

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

Транскрипт:

Laboratorio di Informatica per Ingegneria elettrica A.A. 2010/2011 Prof. Sergio Scippacercola MATLAB (1) Introduzione e Operazioni con array N.B. le slide devono essere utilizzate solo come riferimento agli argomenti trattati a lezione: LO STUDENTE DEVE INTEGRARE LO STUDIO CON IL LIBRO DI TESTO [Cavallo et. al., La nuova guida a MATLAB, Liguori editore (2002)].

INTRODUZIONE A MATLAB

Matlab = MATrix LABoratory Matlab (Matrix Laboratory) è un sistema interattivo per il calcolo scientifico e la visualizzazione grafica di dati. Vari toolbooks applicativi: signal processing, control system, etc. Scritto prevalentemente in C, mentre molte routines interne sono scritte in linguaggio Matlab

Simulink Incluso in Matlab come Sistema interattivo per la simulazione di sistemi dinamici non lineari Ambiente Grafico Possiede toolbox

Ambiente MATLAB si compone di alcune parti principali come: Una libreria di Funzioni matematiche (Mathematical Function Library) Un linguaggio di alto livello che agisce su matrici, permette la creazione sia di programmi di ridotte dimensioni che programmi estesi orientati ad applicazioni complesse Una gestione grafica

Ambiente di lavoro E Case sensitive (sensibile a lettere maiuscole e minuscole) Possiede un: edit help (es. help log) doc (es. doc sinh) demo lookfor (es. lookfor fourier) Clc save nomefile, load nomefile

Ambiente di lavoro

Le Variabili In Matlab non esistono dichiarazioni di tipo: il tipo di una variabile è stabilito al momento della sua definizione. La variabile elementare in Matlab è una matrice rettangolare di numeri reali o complessi, che non richiede un dimensionamento esplicito, ma è dichiarata e definita attraverso l assegnazione dei suoi elementi. Operazioni e funzioni operano per default su matrici. Si crea una variabile mediante lo statement variabile = espressione (es: x = 3/4) Una espressione non assegnata viene memorizzata nella variabile di default (ans)

Le Variabili who, whos per avere informazioni sulle variabili allocate. Una variabile resta nell area di lavoro (workspace) per tutta la sessione, se non deallocata (clear). Costanti di matlab: realmin, realmax, pi, i, j, eps, NaN, inf, clock. Differenti formati di visualizzazione dei numeri (es. format short, format long, format hex, ) Esempio: >> format long >> pi ans = 3.141592653589793 >> format >> pi ans = 3.1416

Vocabolario del linguaggio Separatori (spazio, ENTER, ;, =) Identificatori (primo carattere deve essere una lettera, poi altre lettere e/o cifre) (Es. X11 Y yder) Parole riservate (if, function, while, else, )

Vocabolario del linguaggio Simboli speciali Operatori aritmetici (+, -, *, /, \, ^) Operatori relazionali (<, <=, >, >=, ==, ~=) (il carattere ~ si ottiene con Alt+0126) Operatori logici (&,, ~) Delimitatori ( ; sopprime la stampa a schermo) Commento (%) Costanti numeriche (interi, reali) Costanti non numeriche (caratteri, es: Matlab )

Funzioni MATLAB fornisce un largo numero di funzioni standard elementari matematiche (help elfun, help elmat, help specfun). Funzioni frequenti: abs(x) sqrt(x) sign(x) sin(x) cos(x) tan(x) exp(x) log(x)

Funzioni Funzioni frequenti: linspace(a,b,n): generare un vettore di n elementi in [a,b] a:h:b Genera il vettore di n componenti con passo h eye(n) Genera Matrice identica di n elementi zeros(m,n) Matrice nulla di m righe ed n colonne ones(m,n) Matrice di elementi uguali ad 1 rand(m,n) Matrice random di m righe ed n colonne plot(x, y) Traccia un grafico bidimensionale polyval(p, x) restituisce il valore in x del polinomio con coefficienti nel vettore p

GLI ARRAY (matrici mono e multidimensionali)

Generazioni di array L input e la generazione di una matrice avviene racchiudendo la lista tra parentesi quadre e separando le righe con il punto e virgola: >> A = [9 5 1; 1 0 1; -3 8 10] A = 9 5 1 1 0 1-3 8 10 >> size(a) ans = 3 3

Generazioni di array Gli scalari, i vettori riga e vettori colonna sono casi particolari della creazione di matrici. >> v = [1 2 3 4 5] % Vettore riga v = 1 2 3 4 5 >> u = 1:5 % Vettore riga u = 1 2 3 4 5 >> c = v % Vettore colonna (trasposta) c = 1 2 3 4 5 >> c = [9; 8; 7] % Vettore colonna c = 9 8 7 >> s = 5j % Scalare complesso s = 0 + 5.0000i

Operazioni su array accedere alla componente di riga i e colonna j un array: A(i,j) es. A(2,3). estrarre dalla matrice A una sottomatrice: es. estrarre da A le righe da 2 a 3 con colonne da 3 a 5: A(2:3, 3:5) >> A = rand(3, 5) A = 0.7094 0.6797 0.1190 0.3404 0.7513 0.7547 0.6551 0.4984 0.5853 0.2551 0.2760 0.1626 0.9597 0.2238 0.5060 >> A(2:3, 3:5) ans = 0.4984 0.5853 0.2551 0.9597 0.2238 0.5060

Operazioni su array Eliminazione di righe e/o colonne facendo uso della matrice vuota ([ ]): >> A(2, :) = [] A = 0.7094 0.6797 0.1190 0.3404 0.7513 0.2760 0.1626 0.9597 0.2238 0.5060 >> A(:, 2:4) = [] A = 0.7094 0.7513 0.2760 0.5060

Operazioni su array Sostituzione di righe o colonne (matching perfetto delle dimensioni, oppure espansione di uno scalare): >> A(:, 1) = [-1; 3] % L assegnazione deve avere stessa dimensione A = -1.0000 0.7513 3.0000 0.5060 >> A(:, 2) = 0 % Espansione di un valore scalare A = -1 0 3 0 Composizione di matrici: C = [A B]; C = [A ; B]; Matrice trasposta A

Operazioni elementari con array Gli operatori matematici tra le matrici seguono le regole dell algebra matriciale Es: prodotto di uno scalare per un array A=3; b=[1 2 4]; A*b=[3 6 12] Es: prodotto riga per colonna tra matrici >> A = [2 1; 5 9]; B = [1 0; 2 4]; C = A*B C = 4 4 23 36 Es: prodotto scalare vettore riga* vettore colonna >> x = [1:4]; y = 2 * ones(1, 4); z = x * y z = 20

Operazioni elementari con array Operatori che agiscono sugli elementi omologhi degli operandi: (.*,.^,./ ) Es: A = [2 1; 5 9]; B = [1 0; 2 4]; C = A.* B C = 2 0 10 36 C=A.^B 2 1 25 6561

Operazioni elementari con array Divisione tra matrici (prodotto non gode proprietà commutativa): X = A / B = A * inv(b); X = A \ B = inv(a) * B >> A = [4 10; 2 9]; B = [2 3;0 2]; >> A / B ans = 2 2 1 3 >> A \ B ans = 1.1250 0.4375-0.2500 0.1250

Esercizi ed Esempi Creare una matrice 7x3 di elementi casuali Trasporre la matrice ottenuta Estrarre la sottomatrice 3x3 tra la seconda e la quarta colonna. Porre tutti gli elementi della prima colonna di tale sottomatrice a zero Sommare gli elementi della diagonale principale dell ultima (trovare le funzioni adatte con la guida).

Esercizi ed Esempi Soluzione: M = rand(7, 3) M = M M = M(:, 2:4) M(:, 1) = 0; sum(diag(m))

Esercizi ed Esempi Creare una matrice A di dimensione 6x7 Generare un vettore colonna di 7 elementi Orlare la matrice A con il vettore colonna trasposto, per ottenere una matrice C risultante 7x7 Calcolare il rango della matrice C ottenuta

Esercizi ed Esempi Soluzione: A = rand(6, 7); B = rand(7,1); C = [A ; B ] rank(c)

Esercizi ed Esempi Generare un vettore X con 10 punti tra 0 e 2*pi. Calcolare il vettore Y pari al seno dei punti in X. Usare plot(x, Y) per ottenere il grafico Ripetere con 100 punti

Esercizi ed Esempi X = linspace(0, 2 * pi, 10); Y = sin(x); plot(x, Y) X = linspace(0, 2 * pi, 100); Y = sin(x); plot(x, Y)

Esercizi ed Esempi Sia X=[2 0 0;0 8 9;0 0 9] e Y=[1 5 6 8;0 8 9 5;0 4 0 9; 9 8 7 6] Costruire la matrice Z a blocchi: Z= X 0 0 Y

Esercizi ed Esempi X=[2 0 0;0 8 9;0 0 9] Y=[1 5 6 8;0 8 9 5;0 4 0 9; 9 8 7 6] Z=[X zeros(3,4);zeros(4,3) Y] 2 0 0 0 0 0 0 0 8 9 0 0 0 0 0 0 9 0 0 0 0 0 0 0 1 5 6 8 0 0 0 0 8 9 5 0 0 0 0 4 0 9 0 0 0 9 8 7 6

Altri esempi ed esercizi di operazioni scalari e con array

Esempi di operazioni scalari Tabellare log x nell intervallo (1,100) con passo 0.1 Realizzare il grafico x=[1:.1:100]; y=log(x); plot(x,y)

Esempi di operazioni scalari Tabellare e graficare i valori di e 3t sin 5 π t nell intervallo di t = (-3,3) con 100 punti.

Esempi di operazioni scalari Tabellare e graficare i valori di e 3t sin 5 π t nell intervallo di t = (-3,3) con 100 punti. t=linspace(-3,3,100) ; y=exp(3*t).*sin(5*pi*t); plot(t,y)

Esempi di operazioni scalari x=3+i5 y=-2+i4 z=i3 Calcolare: x+y; x-z; (x+y)z; 1/y; z 2 ;log x; e y

Esempi di operazioni scalari Generare 400 punti nell intervallo (0,20) per graficare il seno raddrizzato 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 14 16 18 20

Esempi di operazioni scalari Generare 400 punti nell intervallo (0,20) per graficare il seno raddrizzato x=linspace(0,20,400); plot(x,abs(sin(x)))

Esempi di operazioni algebriche su array 4x-3y=33 Risolvere il sistema di -2x-66=1 equazioni a fianco indicato A=[4-3;-2-66] B=[33;1] X=A\B X= 8.0556-0.2593 Verifica: A*X ans = 33 1

Esempi di operazioni algebriche su array Trasposta coniugata si indica con A Trasposta non coniugata si indica con A. Es. c=[7+3i, 44-5i]; >> c' ans = 7.0000-3.0000i 44.0000 + 5.0000i >> c.' ans = 7.0000 + 3.0000i 44.0000-5.0000i

Funzioni su array [k,m]=max(x) [k,m]= min(x) dove k è il vettore dei massimi/minimi trovati in colonna ed m il vettore delle posizioni di riga dei massimi/minimi i sum(a) effettua la somma degli elementi di ogni colonna mean(a) effettua la media degli elementi di ogni colonna det(a) calcola il determinante rank(a) calcola il rango della matrice trace(a) calcola la traccia della matrice

Funzioni su array norm (A) (norma euclidea p=2) norm(a,p) (norma di ordine p) sort(a, DIM, MODE) DIM seleziona una dimensione del sort (per colonna 1 e per riga 2) MODE seleziona l ordine 'ascend o descend'