POLINOAME IN OCTAVE
Laborator 7
O 1. REZOLVAREA ECUATIILOR POLINOMIALE
O ecuație polinomială este o ecuatie de
forma P(x)=0, unde P este o functie
polinomiala de orice ordin iar x este
necunoscuta.
P(x) = an x^n + a(n-1) x^(n-1) + ...+ a2 x^2 + a1x+ a0
P1(x) = x^3+2x+7
P2(x)=x^2-4x+1
P3(x)=x^201-5x+4
O Polinoamele se introduc in Octave ca vectori
avand drept componente coeficientii
puterilor in ordinea descrescatoare a
puterilor (pentru coeficientii puterilor care
lipsesc se introduce 0).
Functii
O POLYOUT(P,”x”) - reface pe ecran
polinomul sub forma algebrica
O CONV(P1,P2) - inmultirea a doua
polinoame
O DECONV(P1,P2) - returneaza catul
impartirii polinomului p1 la p2
O P1+P2 - Adunarea a 2 polinoame se face
dupa regula adunarii a 2 vectori.
O Daca polinoamele au grade diferite atunci
inainte de adunare se aduc la aceeasi
dimensiune (in vectorul care contine
coeficientii polinomului de grad mai mic,
se introduce 0 pentru puterile care
lipsesc).
>>p1=[1 0 2 7],p2=[0 1 -4 1], p=p1+p2
OROOTS (p) - rezolvarea ecuatiilor
algebrice polinomiale.
O POLY (V) - construirea unui polinom
cunoscand radacinile acestuia.
O POLY DERIV (p), POLY DER (p) - derivata
unui polinom.
O POLY INTEG(p) - integrala nedefinita a
unui polinom (primitiva).
O POLYVAL (p,x1), POLYVAL (p,[x1 x2…xn]) -
calculul valorii unui polinom pentru un x
dat sau pentru mai multe valori ale lui x.
>>v1=polyval(p1, 3), v2=polyval(p1, [1 2 3 -4])
O POLY (A) - calculul polinomului
caracteristic al unei matrici patratice A
EXEMPLU
>>A=[1 0 1;-2 3 5;0 -4 3],pc=poly(A),
r=roots(pc)
O POLYFIT(x,y,n) - polinoame de regresie de
grad n, pentru functii de tip tabel.
O x=variabila independenta;
O y=variabila dependenta;
O n=gradul polinomului.
EXEMPLU
x 0 1 2 3 4 5
y 4 6 8 12 17 24 OSa se gaseasca un polinom care
aproximeaza “cel mai bine” datele
din table.
>> x=0:5, y=[4 6 8 12 17 24],
p=polyfit(x,y,1)
val=polyval(p,y),
eroare=y-val
OUrmatorul exemplu arata cum sacombini 2 functii liniare si unacvadiliniara intr-o singura functie.Fiecare dintre aceste functii estedescrisa in intervalele adjuncte
O>> x = [-2, -1, 1, 2];
p = [ 0, 1, 0; 1, -2, 1; 0, -1, 1 ];
pp = mkpp (x, p);
xi = linspace (-2, 2, 50);
yi = ppval (pp, xi);
plot (xi, yi);
OPPVAL – evalueaza polinomul pe
portiuni, creat de MKPP
pp = mkpp (x, coefs)
OSursa: https://www.gnu.org/
>># linear interpolation
x = linspace (0,pi,5)';
t = [sin(x), cos(x)];
m = diff (t) ./ (x(2)-x(1));
b = t(1:4,:); pp = mkpp (x, [m(:),b(:)]);
xi = linspace (0,pi,50);
plot (x,t,"x", xi,ppval (pp,xi));
legend ("control", "interp");
EXEMPLU