Совет интерполяции (линейный, кубический?) [закрытый]

5
задан Bhargav Rao 16 August 2019 в 08:00
поделиться

3 ответа

На вашем последнем рисунке показаны только три точки, которых достаточно только для определения квадратичного многочлена, а не кубического. Для кубической интерполяции вы мне понадобится четыре очка. Кубический многочлен можно подобрать по-разному; вот их две.

Самый простой способ - просто пропустить (единственный) многочлен через все четыре точки.

Другой способ - использовать касательные. Опять же, нам нужно четыре точки. Пусть две левые точки определяют наклон. Пусть многочлен проходит через вторую точку (как правило, он не проходит через первую точку) и совпадает с вычисленным наклоном в этой точке. То же самое с правой стороны для четвертой и третьей точки.

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

Если вы дадите более подробную информацию о своей проблемной области, я, возможно, смогу дать более конкретный ответ. Например, откуда берутся ваши точки данных, какой кривой вы обычно можете ожидать, и можете ли вы вернуться и отобрать больше образцов, если потребуется? При необходимости я могу предоставить уравнения и псевдокод.

Обновление : глупый, я оставил предложение, относящееся к двум способам, не набирая их. Напечатал их сейчас.

2
ответ дан 14 December 2019 в 08:55
поделиться

Мои математические вычисления невероятно ржавые, но вы можете обнаружить, что метод Ньютона Рафсона дает хорошие результаты. В общем, он очень быстро сходится к точному решению, предполагая, что итерация начинается «достаточно близко» к желаемому корню.

2
ответ дан 14 December 2019 в 08:55
поделиться

Волшебное слово - «решатель корней»; математический корень - это значение, при котором функция равна нулю. Добавляя / вычитая порог, вы можете использовать средства поиска корня.

Если вы знаете, какую функцию вы интерполируете, вы можете настроить очень быстрый поиск корня. Если у вас нет подсказки, предложенной в вашем сообщении ("undefined"), лучшим методом является "метод Брента", комбинация "метода секущей" и "деления пополам", или "секущая" метод "в одиночку". В Википедии есть запись об этом методе.

Вопреки вашему мнению, использование более сложных функций - не лучшая идея. Основным препятствием для производительности являются оценки функций, которые увеличиваются с увеличением количества баллов / получением производной или более сложных функций интерполяции.

Метод Ньютона-Рафсона ОЧЕНЬ ПЛОХО, если вы находитесь рядом с точкой максимума / минимума / перегиба, потому что производная, близкая к нулю, отправляет вас далеко от точки, и с этим связаны некоторые другие проблемы. Не используйте его, пока не узнаете, что делаете.

3
ответ дан 14 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

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