Столкнулся с задачей, необходимо продифференцировать таблично заданную функцию. на входе имеем массив Х и У, на выходе нужно получить X и Y'. критерий: функция производной должна быть гладкой. Варианты решения данной задачи в моём видении 2. 1) численное дифференцирование таблично заданной функции каким-то алгоритмом. 2) Аппроксимация функции в формульный вид, взятие производной от формулы, и дальнейшее заполнение таблицы значений производной по получившейся формуле.
Я пробовал реализовать следующими способами:
1) дифференцирование по 2-м точкам ( (y2-y1)/(x2-x1)), график производной на выходе. график на выходе не гладкий. 2) дифференцирование по 3-м точкам ( y3-y1)/2/(x2-x1), чуть глаже первого варианта, но все равно не очень. 3) Построение линии тренда ( полином 6-порядок) к первоначальной функции, далее ручками перенос коэффициентов линии тренда в таблицу, потом взятие производной и заполнение таблицы производных по формуле. И этот вариант устраивает, кроме ручного переноса коэф.
И так, я прошу совета по поводу решение моей задачи, либо алгоритм для численного дифференцирования, либо как получить коэффициенты полинома в ячейках, без ручного вбивания?
Функция линейн выводит максимум до 2-го порядка полинома. не подходит, уже изучал. Покрайней мере то что я видел в практических примерах. если возможно функцией линейн получать коэф. полиномов выше 2 -го порядка, пожалуйста покажите как!!! очень необходимо!
Вообще, метод дифференцирования зависит от физического смысла зависимости. Какова погрешность измерения У? Если мала, т.е. скачки на графике означают фактические изменения величины, то можно дифференцировать и по двум точкам: скакнуло - значит производная была большая. А если эти скачки - результат погрешности измерений, тогда надо аппроксимировать по нескольким точкам. Аппроксимировать произвольную зависимость целиком нет смысла, т.к. при достаточно длинной зависимости на все изгибы степеней не напасешься.
Казанский, оценить погрешность измерений нет возможности, не с чем сравнить значения Y и нет возможности их чем-нибудь альтернативным замерить. Большое спасибо! Благодарю что откликнулись! Пробовал усреднять данные Y, сглаживать первоначальную функцию, но при этом получается снижение абсолютных значений. Также пробовал в другой среде ( не эксель) строить сплайн по Y и его дифференцировать, сплайн получается не гладкий, и производная от него следовательно тоже.