Поскольку вы говорите, что у вас есть двумерный массив точек, я предполагаю, что у вас есть функция двух переменных f (x , y)
. Это означает, что у вас нет единой производной. Вместо этого вы получаете набор частных производных.
Вы можете аппроксимировать частные производные, используя формулы конечных разностей.
Частная производная по x
при f (x, y)
будет (f (x + h, y) - f (xh, y) ) / 2 ч
.
Частная производная по y
при f (x, y)
будет (f (x, y + h) - f (x, yh) ) / 2 ч
.
В этих формулах h
- это пространство между узлами вашей сетки, если у вас есть сетка с регулярными интервалами. Если интервалы по горизонтали и вертикали различаются, используйте интервал по горизонтали для части по отношению к x
и интервал по вертикали для части по отношению к y
.
Обновление : Я неправильно понял ваш вопрос. Я думал, что двумерный массив - это массив значений домена. Если у вас есть список значений x
и f (x)
, вы можете аппроксимировать f '(x)
как (f (x + h ) - f (xh)) / 2h
. Это будет работать везде, кроме первой и последней точек, где одно из условий будет вне допустимого диапазона. Вы можете использовать (f (x + h) - f (x)) / h
на левом конце и (f (x) - f (xh)) / h
на правый конец. Приближение будет менее точным в конечных точках, но этого нельзя избежать.