operatii cu polinoame

Upload: anca-irina-gheboianu

Post on 13-Jul-2015

975 views

Category:

Documents


0 download

TRANSCRIPT

OPERATII CU POLINOAME

Polinomul este o functie cu o singura variabila,care poate fi exprimat sub urmatoarea forma generala: f(x) = a x + a x + a x ++ a x + a x + a

Unde x este variabila iar a ,a ,,a sunt coeficientii polinomului. Gradul polinomului este egal cu cea mai mare valoare a exponentului. Functiile MATLAB pentru calcule cu polinoame sunt: conv =calculeaza produsul a doua polinoame; deconv =calculeaza catul si restul impartirii a doua polinoame; poly =calculeaza coeficientii unui polinom cu radacinile date; polyval =evalueaza un polinom la valorile precizate ale variabilei; polyder =calculeaza darivata polinoamelor; polyfit =aproximeaza un set de date cu un polinom de grad n; residue =descompune in fractii simple raportul a doua polinoame; roots =calculeaza radacinile unui polinom.

In sintaxa MATLAB polinoamele sunt reprezentate cu un vector linie care contine coeficientii in ordinea descrescatoare a puterilor variabilei. Coeficientii polinomului au indicii de la 1 la N+1. spre exemplu,reprezentarea in MATLAB a polinomului: h(x) = x + 2x + 0,5x6,5 este data de vectorul: h=[1 2 0,5 -6,5]

ADUNAREA SI SACADEREA POLINOAMELORFie doua polinoame g(x) si h(x) ai caror coeficienti sunt inregistrati in vectorii linie g si h. Operatiile aritmetice de adunare si scadere a polinoamelor presupun adunarea si scaderea coeficientilor de acelasi ordin. Deoarece in MATLAB aceste operatii necesita vectori de aceeasi dimensiune,lungimea vectorilor coeficientilor este data de polinomul cu puterea cea mai mare. Odata stabilita aceasta dimensiune,spre exemplu M,vectorii coeficientilor polinoamelor care au puterea maxima N mai mica decat M vor fi completati la stanga cu coeficienti zero pana la M. Spre exemplu: g(x)=x -- 3x --x +2 h(x)=2x + 5x -16 s(x)= g(x) + h(x) u(x)=g(x)- h(x) dimensiunea vectorului coeficientilor va fi 5 iar polinoamele echivalente pentru care se scriu vectorii coeficientilor sunt: g(x) = x + 0x - 3x - x +2 h(x) = 0x + 0x +2x + 5x -16

secventa MATLAB care realizeaza operatiile de mai sus este: g = [ 1, 0, -3, -1, 2 ]; h = [ 0, 0, 2, 5, -16]; s = g+h u = g-h obtinandu-se rezultatele: s = [ 1 0 -1 4 -14] u = [ 1 0 -5 -6 18] respectiv polinoamele: s (x)= x -x + 4x -14 u (x)= x -5x -6x +18

INMULTIREA SI IMPARTIREA POLINOAMELORMultiplicarea unui polinom cu un scalar consta in multiplicarea coeficientilor acestuia cu acel scalar. Inmultirea a doua polinoame este echivalenta unei operatii de convolutie;este realizata cu functia MATLAB conv,care se apeleaza cu sintaxa: C = conv(a,b),unde: a si b sunt vectorii coeficientilor polinoamelor care se inmultesc; c este vectorul coeficientilor polinomului produs c(x)=a(x)b(x).

Impartirea a doua polinoame este echivalenta unei operatii de deconvolutie;este realizata cu functia MATLAB deconv,care se apeleaza cu sintaxa: [d,r] = deconv(a,b),unde: A si b sunt vectorii coeficientilor polinoamelor deimpartit si impartitor; D este vectorul coeficientilor polinomului cat; R este vectorul coeficientilor polinomului rest,rezultat al operatiei:

a(x)=d(x) b(x) + r(x)

DESCOMPUNEREA IN FRACTII SIMPLE A POLINOAMELORPrin descompunerea in fractii simple se intelege scrierea raportului a doua polinoame ca suma de fractii cu polinoame de ordinal unu:

Daca polul p(j) este de ordinal m,descompunerea contine termini de forma:

Functia MATLAB residue se apeleaza cu sintaxa: [r,p,k]= residue(B,A),unde: A,B sunt vectorii linie ai coeficientilor polinoamelor numitor si numarator,in ordinea descrescatoare a puterilor variabilei; r este vectorul coloana al rezidurilor; p este vectorul coloana al polilor; k este vectorul linie al termenilor liberi.

Daca functia residue se apeleaza cu sintaxa: [B,A]=residue(r,p,k,) se returneaza coeficientii polinoamelor B si A,numator si numitor,al caror raport are rezidurile r, polii p si termenii liberi k.

CALCLUL DERIVATEI UNUI POLINOMDerivata unui polinom in MATLAB utilizeaza functia polyder,care se apeleaza cu sintaxa: D =polyder(C) unde C este vectorul linie al coeficientilor polinomului,in ordinea descrescatoare a puterilor variabilei iar D este vectorul linie al coeficientilor polinomului derivate. Apelata cu sintaxa: D =polyder(A,B) Functia polyder returneaza in vectorul D coeficientii derivatei polinomului produs AB: D (x) = (A(x) B(x)) = A(x) B(x) + A(x) B(x) Apelata cu sintaxa: [M,N]=polyder(A,B)

Functia polyder returneaza in vectorii M si N coeficientii numaratorului si numitorului derivatei raportului polinoamelor A/B:

CALCULUL RADACINILORDaca functia f(x) este un polinom de gradul N,atunci f(x)=0 are N radacini,care pot fi reale sau complexe. In cazul in care coeficientii polinomului sunt numere reale,radacinile complexe sunt in perechi complexe conjugate. Functia MATLAB roots determina radacinile polinoamelor si se apeleaza cu sintaxa: r=roots(c) Functia MATLAB poly determina coeficientii unui polinom ale carui radacini sunt cunoscute si se apeleaza cu sintaxa: c=poly(r) In ambele cazuri: c este un vector linie,care contine coeficientii polinomului,in ordine descrescatoare a puterilor variabilei; r este un vector coloana care contine radacinile polinomului. Functiile roots si poly sunt functii reciproce,realizand trecerea de la coeficienti la radacini sau de la radacini la coeficienti.