@sirQaziop

Многомерная аппроксимация полиномами?

Подскажите, где найти метод для многомерной (двумерной) аппроксимации полиномами.

Задача: есть матрица измерений, полученная по двум независимым переменным x и y — фактически, наборы точек z(x,y).

Необходимо восстановить функцию вида: z(x,y) = a22*x^2*y^2 + a21*x^2*y + a12*x*y^2 +… + a00, где a21, например, коэффициент для x степени 2 и y степени 1. Значения векторов x и y даны, все точки z(x,y) известны. Найти матрицу коэффициентов a, где максимальная степень полиномов по x и y может задаваться (от 0 до 5).


Не смог найти ни одного описания метода аппроксимации для многомерного случая (или хотя бы двумерного). Знаю, что проблему можно решить методом наименьших квадратов, но его обобщения для многомерного случая также не нашел.


Если кто-нибудь помимо ссылки на описание метода кинет код на C++/C#, буду признателен ).
  • Вопрос задан
  • 6065 просмотров
Решения вопроса 1
@megalol
Никакой особой разницы между одномерным и многомерным линейным МНК нет, если в одномерном МНК матрица A

1 x1 x1^2 x1^3…
1 x2 x2^2 x2^3…
1 x3 x3^2 x3^3…


то в многомерном матрица та, какая нужна:

1 x1*y1 x1*y1^2…
1 x2*y2 x2*y2^2…
1 x3*y3 x3*y3^2…
1 x4*y4 x4*y4^2…


А дальше стандартное coefs = inv(A^T * A) * A^T * вектор_z.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы