Università degli Studi di Napoli Federico II CdL Ing. Elettrica Corso di Laboratorio di Circuiti Elettrici Introduzione a MATLAB lezione n. 4 Dr. Carlo Petrarca Dipartimento di Ingegneria Elettrica Università di Napoli FEDERICO II
Grafici Il comando plot permette di costruire grafici Se x e y sono due vettori della stessa lunghezza, il comando plot(x,y) permette di tracciare il grafico della funzione y=f(x) x=[-2*pi:pi/:2*pi]; y=sin(x); plot(x,y) 2
Ogni volta che si traccia un grafico, viene aperta una finestra Figure Se si invia un nuovo comando plot, nella finestra Figure il grafico precedente viene sostituito da quello nuovo. Il comando figure consente di creare una nuova finestra in cui inserire il grafico. x=[:]; y=log(x); figure(); plot(x,y) w=[-:]; z=*w.^2+6*w+3; figure(2); plot(w,z)) 3
Il comando plot consente di specificare il colore, lo stile, I marker della linea da tracciare. A tal fine, è necessario inserire la stringa s : plot(x,y, s ) la stringa s ha la forma del tipo s = colore-marker-stile Ad esempio: colore: b (blue) g (green) r (red) y (yellow) c (cyan) k (black) marker:. (punto) o (cerchio) s (quadrato) + (croce) * (stella) d (rombo) x (ics) stile: - (continua) : (puntata) -. (punto-linea) -- (tratteggiata) 4
plot(x,y,'ro--') plot(x,y,'gd-').8.8.6.6.4.4.2.2 -.2 -.2 -.4 -.4 -.6 -.6 -.8 -.8 - -8-6 -4-2 2 4 6 8 - -8-6 -4-2 2 4 6 8 plot(x,y,'k*:') plot(x,y,'mv').8.8.6.6.4.4.2.2 -.2 -.2 -.4 -.4 -.6 -.6 -.8 -.8 - -8-6 -4-2 2 4 6 8 - -8-6 -4-2 2 4 6 8 5
Il comando hold on consente di tracciare più curve su uno stesso grafico >> x=[-2*pi:pi/:2*pi]; y=sin(x); plot(x,y) >> z=cos(x); hold on; plot(x,z,'r+-').8.6.4.2 -.2 -.4 -.6 -.8 - -8-6 -4-2 2 4 6 8 6
Possiamo inserire un titolo al grafico >> title( Funzione seno') Possiamo dare un etichetta agli assi x e y >> xlabel('x [rad]') >> ylabel('sin(x)') MATLAB assegna automaticamente il range degli assi. Si può usare il comando axis([xmin xmax ymin ymax]) per scegliere il range in modo autonomo >> axis([-2*pi 2*pi - ]) Il comando grid consente di mostrare una griglia >> grid 7
Cliccando sul comando Tools Edit plot è possibile modificare manualmente le caratteristiche del grafico e, cioè, cambiare i colori, i simboli, il titolo, gli assi, ecc. 8
Il comando subplot Il comando subplot permette di costruire più grafici nella stessa finestra subplot(m,n,p) Suddivide la finestra in una matrice (m n) di grafici Seleziona il grafico p-esimo subplot(2,3,) Ottengo una finestra con (2 3) grafici e lavoro sul grafico 9
Creare il file usa_subplot.m con il quale tracciare su un unico grafico le funzioni: sin(x); cos(x); sin(x)^2; cos(x)^2; cos(x)*sin(x); cos(x)+sin(x) Funzione sin(x) Funzione cos(x) Funzione sin(x) 2.5.5.8.6.4 -.5 -.5.2-5 - 5 5 Funzione cos(x) 2.5 Funzione sin(x)*cos(x).5 Funzione sin(x)+cos(x).8.6.4.5 -.5.2-5 -.5 5 -.5 5
Equazioni algebriche lineari Un sistema di m equazioni algebriche lineari in n incognite si presenta nella forma ax + a2 x2 +... + a nxn = b a2x + a22x2 +... + a2nxn = b2... a x + a x +... + a x = b m m2 2 mn n m In forma matriciale: Ax = x x x.. x n 2 = A vettore incognite matrice coefficienti delle incognite Vettore termini noti b a a a a.... a a........ a a.. a 2 n 2 22 2n = m m mn b b b.. b m 2 =
Risolvere il sistema significa trovare il vettore x delle incognite. Soluzione del sistema è ogni n-pla di numeri che, sostituiti ordinatamente alle n incognite, rendono ogni primo membro uguale al rispettivo secondo membro Se un sistema ammette soluzioni, esso è detto compatibile. Se un sistema non ammette soluzioni è incompatibile. Se il sistema ammette un unica soluzione, è detto determinato; Se il sistema ammette più soluzioni è detto indeterminato. Dato un sistema di equazioni lineari, ci chiediamo: )Il sistema ammette soluzioni (il sistema è compatibile)? 2)Quante soluzioni ammette? 3)Quali sono le soluzioni?
Teorema di Rouchè-Capelli: Condizione necessaria e sufficiente affinché un sistema sia compatibile è che la matrice A dei coefficienti delle incognite e la matrice completa (A b) che si ottiene aggiungendo ad essa la colonna dei termini noti, abbiano lo stesso rango In un sistema compatibile, se il numero di equazioni è inferiore al numero di incognite (m<n) si possono avere infinite soluzioni Se il sistema è composto da n equazioni in n incognite, allora un sistema compatibile ha una ed una sola soluzione se: rank(a)=n cioè se la matrice A ha rango massimo. In tal caso: a)il determinante di A è diverso da zero; b)la matrice A è invertibile ed esiste A - ; c)la soluzione è: x = A b
Il calcolo numerico possiede limitazioni ben precise dovute a: a)errore generato dall algoritmo di calcolo; b)errore generato da qualsiasi macchina, dovuto al fatto che il calcolatore può rappresentare solo un numero finito di cifre. Questo secondo tipo di errore si propaga ad ogni operazione e dà luogo al classico errore di arrotondamento. MATLAB usa il sistema floating point (punto che si sposta) per rappresentare un numero x: x = ±. d d2... d t e β con: β = 2; t = 53; 2 e 24 Una delle conseguenze dell errore di arrotondamento riguarda l accuratezza dei risultati. Può accadere che piccole perturbazioni nella matrice A portino a grandi perturbazioni nella soluzione. In tal caso il sistema si dice mal condizionato
Sistema mal condizionato Sistema di equazioni lineari nelle incognite x e x 2 : x + x2 =.2 x + x2 = A = ; =.2 b x 5, 5 = x2 = Perturbiamo leggermente la matrice A. Ci aspettiamo che le soluzioni non cambino: Invece. x + x2 =.x + x2 = A = ; =. b x = ; x = 2 Le soluzioni sono sensibilmente diverse!!!!!
Esercizi Creare un file.m per risolvere il seguente sistema: 3x + 5x2 + 2x3 = x + 6x2 + 5x3 = 4 8x + 4x2 6x3 = 5 Soluzione x -2.275; x 2 = 2.667; x 3 = -2.2255 6