MATLAB Polynomials

advertisement
MATLAB
Polynomials
Introduction
 Polynomials
x2+2x-7
x4+3x3-15x2-2x+9
 In MATLAB polynomials are created by row vector i.e.
s4+3s3-15s2-2s+9
>>p=[ 1 3 -15 -2 9];
3x3-9
>>q=[3 0 0 -9]
%write the coefficients of every term

Polynomial evaluation : polyval(c,s)
Exp: Evaluate the value of polynomial y=2s2+3s+4 at s=1, -3
>>y=[2 3 4];
>>s=1;
>>value=polyval(y, s)
>>value =
9
Polynomials Evaluation
 Similarly
>>s=-3;
>>value=polyval(y, s)
>>value =
13
OR
>>s=[1 -3];
>> value=polyval(y, s)
value =
9 13
OR
>> value=polyval(y,[1 -3])
Roots of Polynomials
Roots of polynomials: roots(p)
>>p=[1 3 2];
>>r=roots(p)
r = -2
-1
% p=s2+3s+2
Try this: find the roots of s4+3s3-15s2-2s+9=0
Polynomials mathematics
• Addition
>>a=[0 1 2 1];
%s2+2s+1
>>b=[1 0 1 5];
% s3+s+1
>>c=a+b
%s3+s2+3s+6
• Subtraction
>>a=[3 0 0 2];
%s3+2
>>b=[0 0 1 7];
%s+7
>>c=b-a
%-s3+s+5
c=
-3
0
1
5
Polynomials mathematics
• Multiplication : Multiplication is done by convolution operation .
Sytnax z= conv(x, y)
>>a=[1 2 ];
%s+2
>>b=[1 4 8 ];
% s2+4s+8
>>c=conv(a, b)
% s3+6s2+16s+16
c=
1
6
16
16
Try this: find the product of (s+3),(s+6) & (s+2). Hint: two at a time
• Division : Division is done by deconvolution operation.
Syntax is [z, r]=deconv(x, y)
Where
x=divident vector
y=divisor vector
z=Quotients vector
r=remainders vector
Polynomials mathematics
>>a=[1 6 16 16];
>>b=[1 4 8];
>>[c, r]=deconv(a, b)
c=
1 2
r=
0 0 0 0
Try this: divide s2-1 by s+1
%a=s3+6s2+16s+16
%b=s2+4s+8
Formulation of Polynomials
• Making polynomial from given roots:
>>r=[-1 -2];
%Roots of polynomial are -1 & -2
>>p=poly(r);
%p=s2+3s+2
p=
1 3 2
• Characteristic Polynomial/Equation of matrix ‘A”: =det(sI-A)
>>A=[0 1; 2 3];
>>p=poly(A)
%p= determinant (sI-A)
p=
%p=s2-3s-2
1 -3 -2
Polynomials Differentiation & Integration
Polynomial differentiation : syntax is
dydx=polyder(y)
>>y=[1 4 8 0 16];
%y=s4+4s3+8s2+16
>>dydx=polyder(y)
%dydx=4s3+12s2+16s
dydx=
4 12 16
0
Polynomial integration : syntax is
x=polyint (y, k)
%k=constant of integration
OR
x=polyint(y)
%k=0
>>y=[4 12 16 1];
%y=4s3+12s2+16s+1
>>x=polyint(y,3)
%x=s4+4s3+8s2+s+3
x=
1 4
8
1
3(this is k)
Polynomials Curve fitting
In case a set of points are known in terms of vectors x & y, then a polynomial
can be formed that fits the given points. Syntax is
c=polyfit(x, y, k)
%k is degree of polynomial
Ex: Find a polynomial of degree 2 to fit the following data
X
0
1
2
4
Y
1
6
20
100
Sol:
>>x=[0 1 2 4];
>>y=[1 6 20 100];
>>c=polyfit(x, y, 2)
%2nd degree polynomial
c=
7.3409 -4.8409 1.6818
>>c=polyfit(x, y, 3)
%3rd degree polynomial
c=
1.0417 1.3750 2.5833 1.0000
Polynomials Curve fitting
Ex: Find a polynomial of degree 1 to fit the following data
Current
10
15
20
25
30
voltage
100
150
200
250
300
Sol:
>>current=[10 15 20 25 30];
>>voltage=[100 150 200 250 300];
>>resistance=polyfit(current, voltage, 1)
resistance=
10.0000 -0.0000
i.e.
Voltage = 10x Current
Polynomials Evaluation with matrix arguments
Ex: Evaluate the matrix polynomial X2+X+2, given that the square matrix
X= 2
3
4
5
Sol:
>>A=[1 1 2];
>>X=[2 3; 4 5];
>>Z=polyvalm(A,X)
Z=
20 24
32 44
%A= X2+X+2I
%poly+val(evaluate)+m(matix)
Download