Osnove Matlaba, polinomi

 

Matlab predstavlja polinom kao vektor vrstu, pri čemu su koeficijenti polinoma poredani po opadajućem stepenu promjenljive. Na primjer polinomi oblika:

P1 = 6x3 – 4x2 + 5x +3

P2 = 2x3 – 8x +2

P3 = 10x3 – 5x2

u matlab se unose u sljedećem obliku:

P1 = [ 6 -4 5 3]

P2 = [ 2 0 -8 2]

P3 = [10 5 0 0]

U matlabu postoji određeni broj funkcija koje se koriste za rad sa polinomima. Ovdje će biti objašnjeno korištenje funkcija: roots, polyval, conv, deconv, polyder, poly, residue i polyfit.

Funkcija roots

Pomoću funkcije roots određuju se korjeni polinoma. Po definiciji korjene polinoma P, Matlab čuva u kolona vektoru. Na primjer potrebno je odrediti korjene polinoma P = 6x3 – 4x2 + 5x +3

>> P=[6 -4 5 3]

P =

6 -4 5 3

>> roots(P)

ans =

0.5322 + 0.9867i

0.5322 - 0.9867i

-0.3978

Funkcija polyval

Pomoću funkcije polyval određuje se vrijednost polinoma u željenim tačkama.

Primjer: Potrebno je odrediti vrijednost polinoma P = 3x2 + 2x + 1 u tačkama 3, 9 12.

>> p = [3 2 1]

p =

3 2 1

>> polyval(p,[3 9 12])

ans =

34 262 457

Funkcije conv i deconv

Ove funkcije se koriste za množenje i djeljenje polinoma. Neka su data dva polinoma P1 i P2, potrebno je pronaći njihov proizvod, a zatim dobijeni proizvod podijeliti sa polinomom P3.

P1 = x2 + 3x -10

P2 = x2 -2x -3

P3 = x – 2

>> P1 = [1 3 -10];

>> P2 =[1 -2 -3];

>> P3 = [1 -2];

>> P12 = conv(P1,P2)

P12 =

1 1 -19 11 30

>> P123 = deconv(P12,P3)

P123 =

1 3 -13 -15


Odavde slijedi da je:

P12 = P1*P2 = (x2 + 3x -10)*( x2 -2x -3) = x4 + x3 – 19x2 + 11x + 30

P123 = (P1*P2)/P3 = P12/P3 = x3 + 3x2 – 13x – 15

Funkcija polyder

Funkcija polyder se koristi za određivanje izvoda polinoma. Primjer, odrediti izvod polinoma

P = 7x5 – 2x4 + 12x3 + 4x2 -8x +15

>> P = [7 -2 12 4 -8 15];

>> polyder(P)

ans =

35 -8 36 8 -8

Ako imamo polinom P1 i P2, a potrebno je odrediti izvod njihovog proizvoda, tada se to jednostavno može uraditi naredbom polyder i to samo u jednoj liniji, polyder(P1, P2). Ovom naredbom se automatski određuje izvod proizvoda polinoma P1 i P2.

Analogno za pronalaženje izvoda količnika dva polinoma P1 i P2, koristi se isti oblik naredbe polyder, ali se koriste dve izlazne promjenljive, što je prikazano u sljedećem primjeru.

P1 = x2 + 3x +5

P2 = 2x2 + 4x +6
 

>> P1 = [1 3 5];

>> P2 = [2 4 6];

>> Pp = polyder(P1,P2)

Pp =

8 30 56 38

>> [P,Q]=polyder(P1,P2)

P =

-2 -8 -2

Q =

4 16 40 48 36

Funkcija poly

Ova funkcija određuje polinom, odnosno koeficijente polinoma u odnosu na zadate korijene. Koeficijenti polinoma su poredani po opadajućem stepenu promjenljive.

Na primjer potrebno je odrediti polinom čiji su korjeni 4 i -5
 

>> korjeni = [4 -5]

korjeni =

4 -5

>> P = poly(korjeni)

P =

1 1 -20


Prema tome, rješenje je polinom P = x2 + x – 20. Obratite pažnju na vezu između funkcije poly i roots. Ako primjenimo funkciju roots na polinom P, dobićemo korjene 4 i -5.

Pomoću funkcije poly takođe možemo odrediti i koeficijente karakterističnog polinoma matrice A. Na primjer potrebno je odrediti karakteristični polinom matrice 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

Funkcija residue

Funkcija residue se koristi za razvoj količnika polinoma u zbir parcijalni razlomaka, tj.

P1(x)P2(x)=r1x-p1+r2x-p2+…+rnx-pn+ks

P1(x)P2(x)=r1x-p1+r2x-p2+…+rnx-pn+ksP1(x)P2(x)=r1x-p1+r2x-p2+…+rnx-pn+

Primjer, razviti P1/P2 u zbir parcijalnih razlomaka, pri čemu su P1 i P2:

P1 = -4x + 8

P2 = x2 + 6x + 8
 

>> P1 = [-4 8];

>> P2 = [1 6 8];

>> [r,p,k] = residue(P1,P2)

r =

-12

8

p =

-4

-2

k =

[ ]

 

Ako se kao ulazni argumenti funkcije reisdual, stave elementi r,p i k, tada će funkcija odrediti koeficijente polinoma P1 i P2, koji su poredani po opadajućem stepenu promjenljive, slijedi primjer:

 

>> r = [-12 8];

>> p = [-4 -2];

>> k= [ ];

>> [P1, P2] = residue(r,p,k)

P1 =

-4 8

P2 =

1 6 8


Vidimo da su koeficijenti polinoma P1 i P2 jednaki koeficijentima polinoma zadanog zadatka.

Funkcija polyfit

Funkcija polyfit se koristi za nalaženje polinoma kojim se aproksimiraju dati podaci. Opšti oblik funkcije polyfit je:

p = polyfit(x,y,n)

gdje su x i y vektori koji sadrže željene podatke, a n je stepen polinoma kojim se vrši aproksimacija.

Primjer: Odrediti polinom trećeg stepena kojim se vriši aproksimacija datih podataka x i y.

>> x = [1 2 3 4 5];

>> y = [5.5 43.1 128 290.7 498.4];

>> p = polyfit(x,y,3)

p =

-0.1917 31.5821 -60.3262 35.3400