README del archivo tabla_coef.pdf --------------------------------- El archivo tabla_coef.pdf tiene los coeficientes de derivadas en diferencias finitas, para distintos órdenes de derivación, y para distintos órdenes del desarrollo. La tabla 3.1-1 tiene los coeficientes para desarrollos centrados (central differences) y la tabla 3.1-2 tiene los respectivos a diferencias adelantadas (forward differences). * Ejemplo con central differences. Si queremos obtener la derivada primera, con diferencias centradas, con un desarrollo a orden 2, en un punto cualquiera i, mirando en la tabla 3.1-1 vemos que los coeficientes son los siguientes: -- para el punto i, el coeficiente es cero. -- para el punto i+1, el coeficiente es 1/2. -- para el punto i-1, el coeficiente es -1/2. Finalmente, la expresión de la derivada primera a orden 2 queda: (0.5*f[i+1] - 0.5*f[i-1])/dx; El factor dx es el paso espacial de la grilla (constante en toda la grilla). Si queremos calcular una derivada segunda en diferencias finitas, el factor que aparece es dx*dx = pow(dx, 2). Entonces por ejemplo, la derivada segunda centrada a orden 2 es: (f[i+1] - 2*f[i] + f[i-1])/(dx*dx); * Ejemplo con forward differences Si queremos obtener la derivada primera, con diferencias adelantadas, con un desarrollo a primer orden, en un punto cualquiera i, mirando en la tabla 3.1-2 vemos que los coeficientes son los siguientes: -- para el punto i, el coeficiente es -1. -- para el punto i+1, el coeficiente es 1. La expresión para la derivada primera a primer orden en diferencias adelantadas es: (f[i+1] - f[i])/dx; Mirando de nuevo la tabla 3.1-2, la expresión para la derivada segunda a primer orden, con diferencias adelantadas es: (f[i+2] - 2*f[i+1] + f[i])/(dx*dx); * Y las backward differences? Si ahora queremos obtener las mismas expresiones, pero para las diferencias atrasadas (backward differences), el procedimiento es espejar los coeficientes respecto del eje de los coeficientes de i (o sea del cero). Además, para el caso de derivadas impares, tenemos que multiplicar todos los coeficientes por -1. Entonces, para el caso de la derivada primera a primer orden en backward differences, los coeficientes quedan: -- para el punto i, el coeficiente es 1. -- para el punto i-1, el coeficiente es -1. La expresión de la derivada primera, con diferencias atrasadas, con un desarrollo a primer orden en un punto i, queda: (f[i] - f[i-1])/dx; En cambio para la derivada segunda a primer orden en backward differences, no hay que multiplicar por -1: -- para el punto i, el coeficiente es 1. -- para el punto i-1, el coeficiente es -2. -- para el punto i-2, el coeficiente es 1. La expresión de la derivada segunda, con diferencias atrasadas, con un desarrollo a primer orden en un punto i, queda: (f[i] - 2*f[i-1] + f[i-2])/(dx*dx);