Un polinomio è rappresentato da un vettore riga che contiene i coefficienti del polinomio in ordine decrescente delle potenze della variabile x.
Ad esempio

p=[1 0 -6 3]

permette di rappresentare x− 6x + 3.

y = polyval(p,x1) permette di calcolare il valore del polinomio p per x=x1

r = roots(p) permette di trovare numericamente le radici di p.

 

>> p = [1 0 -6 3];
>> r = roots(p)
r =
    -2.6691
    2.1451
    0.5240

p = poly(r) esegue il passaggio opposto, ovvero permette di trovare numericamente i coefficienti del polinomio con le radici contenute nel vettore r.

>> poly(r)
ans =
      1.0000 0.0000 -6.0000 3.0000

     
Il prodotto di due polinomi a(x) e b(x) si ottiene effettuando la convoluzione dei loro coefficienti conv(a,b).
Ad esempio siano a(x) = x2 + 2x + 3 e b(x) = 4x2 + 5x + 6
a(x) * b(x) = 4x4 + 13x3 + 28x2 + 27x + 18
in Matlab:

>> a = [1 2 3]; 
>> b = [4 5 6];
>> c = conv(a,b)
c =
     4 13 28 27 18   

la divisione fra due polinomi c(x) e a(x) si ottiene effettuando la deconvoluzione dei loro coefficienti mediante l’istruzione deconv(c,a)

>> [q r] = deconv(c,a)
q =
    4 5 6 % polinomio quoziente
r =
    0 0 0 0 0 % polinomio resto
INTERPOLAZIONE DI DATI   

Matlab consente anche di calcolare il polinomio interpolante dati due vettori x e y di ordine m mediante il metodo dei minimi quadrati:

p=polyfit(x,y,n)

restituisce il polinomio p di grado n che interpola ottimamente i dati nel senso dei minimi quadrati.

SVILUPPO IN FRATTI SEMPLICI

Dato un rapporto di polinomi

il suo sviluppo in fratti semplici è del tipo

e può essere calcolato con [R,P,K]=residue(n,d), dove R è il vettore dei residui, P quello dei poli e K contiene i coefficienti del polinomio diretto.

Ad esempio, si voglia trovare la scomposizione in fratti semplici di

Con Matlab si risolve con:

>> n = [1 1]; 
>> d = [1 5 6];
>> [R P K] = residue(n,d)
R =
    2.0000
   -1.0000
P =
   -3.0000
   -2.0000
K =
    []

e quindi lo sviluppo è

Ultime modifiche: sabato, 23 dicembre 2023, 16:16