Πολυώνυμο Lagrange : lagrange interp

### 1.24.26 Πολυώνυμο `Lagrange``:` `lagrange interp`

`lagrange` παίρνει ως όρισμα 2 λίστες μεγέθους `n` (αντίστοιχα έναν πίνακα 2 γραμμών και `n` στηλών) και το όνομα μιας μεταβλητής `var` (από προεπιλογή `x`).
Η 1η λίστα (αντίστοιχα γραμμή) αντιστοιχεί στις τιμές της τετμημένης xk (k=1..n), και η 2η λίστα (αντίστοιχα γραμμή) αντιστοιχεί στις τιμές της τεταγμένης yk (k=1..n).
`lagrange` επιστρέφει μια πολυωνυμική παράσταση `P` μεταβλητής `var` και βαθμού `n-1`, τέτοια ώστε P(xi)=yi.
Είσοδος :

`lagrange([[1,3],[0,1]])`

ή :

`lagrange([1,3],[0,1])`

Έξοδος :

`(x-1)/2`

αφού x−1/2=0 για x=1, και x−1/2=1 για x=3.
Είσοδος :

`lagrange([1,3],[0,1],y)`

Έξοδος :

`(y-1)/2`

Προσοχή
Η `f:=lagrange([1,2],[3,4],y)` δεν επιστρέφει μια συνάρτηση αλλά μια παράσταση ως προς y. Για να ορίσετε την f σαν συνάρτηση, εισάγετε

`f:=unapply(lagrange([1,2],[3,4],x),x)`

Αποφύγετε την εντολή `f(x):=lagrange([1,2],[3,4],x)` αφού το πολυώνυμο `Lagrange` θα υπολογίζεται κάθε φορά που η `f` καλείται (πράγματι στον ορισμό μιας συνάρτησης, το 2ο μέλος της εντολής δεν υπολογίζεται).
Σημειώστε επίσης ότι η εντολή `g(x):=lagrange([1,2],[3,4])` δεν θα δούλευε αφού από προεπιλογή το όρισμα της `lagrange` (δηλαδή η μεταβλητή `x`) θα ήταν καθολικό, και επομένως διάφορο από την τοπική μεταβλητή που χρησιμοποιείται στον ορισμό της `g`.