function [Ln] = LagrangePolynomials(x_data, x) %LagrangePolynomials evaluates the entire collection of Lagrange %polynomials % % Input: % - x_data: One-dimensional list of x-coordinates of points through % which the interpolating polynomial will pass. The degree of the % interpolating polynomial, n, will be inferred from the number of % entries in x_data % - x: One-dimensional list of values for which the Lagrange % polynomial will be evaluated % % Output: % -Ln: Matrix of values of Lagrange polynomials of degree n. The % matrix has a row for each polynomial and a column for each value of % x %Allocate space for the output matrix by initializing it to zero value_count = length(x); n = length(x_data) - 1; Ln = zeros(n + 1, value_count); %Build each row of the output matrix by evaluating the corresponding %polynomial at the x value(s) for(k = 0:n) Ln(k + 1, :) = LagrangePolynomial(x_data, k, x); end end