Как сделать по точкам аппроксимацию (интерполяцию) функции многих переменных?
Есть набор из точек вида:
(x,y,z)
(1,2,3)
z=f(x,y)
Нужно найти:
1) функцию, которая при x и y имеет значение z.
2) график (желательно)
3) wolframalfa (желательно)
4) бесплатно
5) возможность в дальнейшем использовать функцию 3-х и 4-х переменных
Можете посоветовать софт для этого и команду для интерполяции или аппроксимации?
Такое требование все равно что на вопрос "Куда едем?" отвечать на Ладе-Калина. Стоило бы понять сначала, как вообще эта функция выглядит. Нарисовали б карту x, y -- координаты, z -- температура. Может все вообще линейно, и картинку приложили.
Начать можно с чтения на вики статьи об интерполяции Лагранжа. Там дан пример для одномерной функции, он может быть распространен на любую размерность.
Для задания лагранжевой интерполяции по прямоугольнику z=f(x,y), нужно выбрать в прямоугольнике n^2 точек (удобно сделать равноотстоящие точки). В этих точках значения Z задаются таблицей.
Тогда в произвольных точках получаем Z(p,q)=сумма_по_всем_узловым_точкам( базисная_функция_в_данной_точке(p,q)*значение_Z_в_данной_узловой_точке).
Составить формулы базисных функций в каждой узловой точке несложно - описание есть в Википедии.
Для более широкого набора функций (не только многочленов) можно воспользоваться методом неопределённых коэффициентов - составить и решить систему линейных уравнений, неизвестными в которых будут коэффициенты при базисных функциях. После небольшой модификации этого метода он позволит находить приближенную интерполяцию (когда точек больше, чем базисных функций), превратившись в метод наименьших квадратов.