математика — сглаживание кривой в переполнении стека

Я хочу сгладить кривую, и я не знаю, какой подход следовать, Шаблон хранится в векторе.

class Point2D
{
public:
double x, y;
Point2D()
{
this->x=0;
this->y=0;
}
Point2D(double x, double y)
{
this->x = x;
this->y = y;
}
}

vector<Point2D> vec1;

vec1:

         *
*    *

.        .
.           .
.              .
.                 .
.                    .    .
.

Ожидаемая картина после сглаживания:

         *
*    *
.        .

.             .
.                .
.                  .
.                    .    .
.

1

Решение

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

3

Другие решения

Это немного неопределенный вопрос, но если вы хотите сгладить набор данных, вы можете взглянуть на этот.

Это ссылка для полиномиальной регрессии. Затем вы можете использовать свой подогнанный многочлен для создания гладких точек на кривой.

Надеюсь это поможет.

1

По вопросам рекламы [email protected]