Find a polynomial of degree n that passes through the n+1 points
An Application of a Linear System
Contents
Define (x,y) pairs
P = [1,1; 2,3; 3,5; 4,-2; 5,11; 6,-12] % Define six (different) (x,y) pairs %P = [1,1; 2,4; 3,9; 4,16,; 5,25; 6,36];
P = 1 1 2 3 3 5 4 -2 5 11 6 -12
For each pair of points in P, create a line in an augemented matrix
representing a_0 + a_1 x + a_2 x^2 + a_3 x^3 + a_4 x^4
A = [1 1 1 1 1 1 1; 1 2 4 8 16 32 3; 1 3 9 27 81 243 5; 1 4 16 64 4^4 4^5 -2; 1 5 25 125 5^4 5^5 11; 1 6 6^2 6^3 6^4 6^5 -12] % The augmented matrix for the alternate P %A = [1 1 1 1 1 1 1; % 1 2 4 8 16 32 4; % 1 3 9 27 81 243 9; % 1 4 16 64 4^4 4^5 16; % 1 5 25 125 5^4 5^5 25; % 1 6 6^2 6^3 6^4 6^5 36]
A = Columns 1 through 6 1 1 1 1 1 1 1 2 4 8 16 32 1 3 9 27 81 243 1 4 16 64 256 1024 1 5 25 125 625 3125 1 6 36 216 1296 7776 Column 7 1 3 5 -2 11 -12
Compute the rref of A
M = rref(A);
% The last column of a are the coefficients of the polynomial
a = M(:,end)
a = 169.0000 -374.5161 295.0417 -104.4583 16.9583 -1.0250
To create a vector approximation to this polynomial
Create a vector of x-values between 0 and 7, counting by .01
x = 0:.01:7; y = a(1) + a(2)*x + a(3)*x.^2 + a(4)*x.^3 + a(5)*x.^4 + a(6)*x.^5;
To plot the polynomial
figure; hold on; plot(P(:,1),P(:,2),'sb') pause plot(x,y,'r')