| 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 rootsPomoć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 polyvalPomoć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 deconvOve 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
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 polyderFunkcija 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 polyOva 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
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 residueFunkcija 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
Funkcija polyfitFunkcija 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
|
