10.2.1 Lagrange polynomial
The lagrange or
interp command
finds the Lagrange polynomial which interpolates given data.
-
lagrange takes two mandatory
arguments and one optional argument:
-
l1 and l2, two lists of the same size. These can
be given as a matrix with two rows.
The first list (resp. row) corresponds to the abscissa values xk
(k=1,…,n), and the second list (resp. row) corresponds to ordinate
values yk (k=1,…,n).
- Optionally x, the name of a variable (by default
x).
- lagrange(l1,l2 ⟨,x⟩)
returns a polynomial expression P with respect to
x of degree n-1, such that P(xi)=yi.
Examples
or:
since x−1/2=0 for x=1 and x−1/2=1 for x=3.
Remark.
An attempted function definition such as
f:=lagrange([1,2],[3,4],y) does not return a function but an
expression with respect to y. To define f as a function, input:
f:=unapply(lagrange([1,2],[3,4],x),x) |
Avoid f(x):=lagrange([1,2],[3,4],x) since then
the Lagrange polynomial would be computed each time f is called
(indeed in a function definition, the second member of the assignment
is not evaluated).
Note also that g(x):=lagrange([1,2],[3,4]) would not work
since the default argument of lagrange
would be global, hence not the same as the local
variable used for the definition of g.