12.07.2015 Views

Matlab - 4: I polinomi PON 2007 – 2013 Liceo ... - Arturo Stabile

Matlab - 4: I polinomi PON 2007 – 2013 Liceo ... - Arturo Stabile

Matlab - 4: I polinomi PON 2007 – 2013 Liceo ... - Arturo Stabile

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>PON</strong> <strong>2007</strong> – <strong>2013</strong><strong>Liceo</strong> Scientifico Leonardo da VinciVallo della LucaniaNuovi percorsi matematici:Osservare, descrivere, costruire.<strong>Matlab</strong> - 4: I <strong>polinomi</strong><strong>Arturo</strong> <strong>Stabile</strong>Vallo della Lucania26 Settembre 2008


Operazioni tra <strong>polinomi</strong>• Somma di <strong>polinomi</strong> Si usa l’operatore +I vettori che rappresentano i <strong>polinomi</strong> devono avere lastessa dimensione• Prodotto di <strong>polinomi</strong>Si usa la funzione convNon è necessario che i vettori che rappresentano i<strong>polinomi</strong> abbiano la stessa dimensione<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 3


Esempio>> a=[1 2 3 4];>> b =[0 2 3 4];>> conv(a,b)ans =0 2 7 16 25 24 16>> x=rand(1,3);>> y=rand(1,3);>> z=conv(x,y)z =0.1595 0.5469 0.7735 0.7733 0.4676<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 4


Divisione di <strong>polinomi</strong>• Per dividere due <strong>polinomi</strong> si usa la funzionedeconv [Q,R] = deconv(A,B) Q è il quoziente R il resto>> a=[1 2 3 4];>> b =[0 2 3 4];>> c=conv(a,b);>> deconv(c,a)ans =0 2 3 4<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 5


Esempio>> e=[3 2];>> deconv(c,e)ans =0 0.6667 1.8889 4.0741 5.6173 4.2551>> [q,r] = deconv(c,e)q =0 0.6667 1.8889 4.0741 5.6173 4.2551r =0 0 0.0000 0 0.0000 0 7.4897<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 6


Esercizi• Utilizzando <strong>Matlab</strong>, si eseguano le seguentioperazioni tra <strong>polinomi</strong> (x 3 +5x 2 +3)*(x 2 +1) (x 5 +4x 2 )+(x 2 +10x+4) (x 3 +5x 2 +3)/(x 2 +10x+4) (x 6 -3x 3 +2x)/x (x 6 -x 3 +5x 2 -7)*(x 3 +1)/(x 2 -1)<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 7


Altre funzioni – 1• Se il vettore P rappresenta un <strong>polinomi</strong>o, alloraroots(P) restituisce un vettore colonna contenentele radici del “<strong>polinomi</strong>o” P>> a=[1 2 3 4];>> roots(a)ans =-1.6506-0.1747 + 1.5469i-0.1747 - 1.5469i>> b=[1 0 -4];>> roots(b)ans =2.0000-2.0000<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 8


Altre funzioni – 2• Se R è un vettore che rappresentano le radici di un<strong>polinomi</strong>o, allora poly(R) restituisce un <strong>polinomi</strong>oche ha come radici gli elementi di R>> r=[3 4 -5];>> p=poly(r)p =1 -2 -23 60>> roots(p)ans =-5.00004.00003.0000<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 9


Esempio• p(x) = x 3 –2x –5>> p = [1 0 -2 -5];>> r = roots(p)r =2.0946-1.0473 + 1.1359i-1.0473 - 1.1359i>> p2 = poly(r)p2 =1.0000 0 -2.0000 -5.0000<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 10


Polinomio caratteristico• Se A è una matrice quadrata è sufficiente invocarepoly(A) per calcolare il <strong>polinomi</strong>o caratteristico * di A>> A = [1.2 3 -0.9; 5 1.75 6; 9 0 1];>> poly(A)ans =1.0000 -3.9500 -1.8500 -163.2750*det(xI-A)<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 11


Esercizi• Trovare le radici dei <strong>polinomi</strong> x 3 + 6x 2 – 11x + 290 13x 3 + 182x 2 – 184x + 2503 36x 5 + 12x 3 – 84x + 53Verificare poi la soluzione con la funzionepoly e con la funzione polyval• Trovare il <strong>polinomi</strong>o le cui radici sono 3±4i, -7, 19, 9Verificare poi la soluzione con <strong>Matlab</strong><strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 13


Differenziazione di <strong>polinomi</strong>• Si usa la funzione polyder, che restituisce un vettorerappresentate la derivata del <strong>polinomi</strong>opolyder(a)>> a=[1 2 3 4];>> b=polyder(a)b =3 4 3<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 14


Intergrazione di <strong>polinomi</strong>• Si usa la funzione polyint, che restituisce un vettorerappresentate l’integrale del <strong>polinomi</strong>opolyint(a,K)• Restituisce l’integrale di a con costante di integrazione Kpolyint(a)• Restituisce l’integrale di a con K=0>> polyint(b)ans =1 2 3 0<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 15


Interpolazione• Se X ed Y sono due vettori aventi la stessalunghezza, allora polyfit(X,Y,N) restituisce il<strong>polinomi</strong>o P di grado N tale che P(X(i)) ~ Y(i)>> x=[2 4 3 1];>> y=[7 6 4 1];>> p=polyfit(x,y,3)p =2.3333 -18.5000 45.1667 -28.0000>> polyval(p,4)ans =6.0000>> polyval(p,5)ans =27.0000<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 16


Esercizi – 1• Creare un <strong>polinomi</strong>o P di grado 6 con soli trecoefficienti non nulli Calcolare da derivata D di P Calcolare l’integrale I 1di P con K=3 Calcolare l’integrale I 2di P con K=0 Calcolare l’integrale I 3di D con K= -6 Verificare se i coefficienti dei termini di gradomaggiore di 0 di I 3e P coincidono<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 17


Esercizi – 2• Creare due vettori A e B con 10 elementiinteri scelti a caso tra 0 e 25 Se A contiene elementi duplicati, modificatelo inmodo che contenga solo elementi diversi• Calcolare il <strong>polinomi</strong>o P di grado 7 cheinterpola A e B (P(A(i)) ~ B(i))• Valutare P in tutti i punti di A Verificare se il risultato coincide con B Ripetere l’esercizio nel caso P abbia grado 9<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 18


Esercizi – 4• Risolvere l’equazione x 3 -29x 2 +72x-36=0• Determinare un <strong>polinomi</strong>o le cui radici siano2, -1, 3, 0, 1• Determinare il <strong>polinomi</strong>o di terzo grado cheapprossima la funzione y=e x nell’intervallo[0,0.5] (considerare 20 punti linearmenteintervallati)<strong>Arturo</strong> <strong>Stabile</strong><strong>PON</strong> <strong>2007</strong>/<strong>2013</strong> <strong>Matlab</strong> 4 - I <strong>polinomi</strong> 20

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!