Cálculo de derivadas de orden superior en C++
El objetivo del desarrollo de estos metodos fue encontrar algoritmos que nos permitieran calcular derivadas de orden superior mediante el lenguaje de programación C++, partiendo de la definición formal de derivada progresiva.
AUTORES
BIBLIOGRAFIA
A continuación se presenta una explicación a detalle del desarrollo, algoritmo y limitantes presentes en cada método
DEFINICIÓN DE DERIVADA CONSIDERADA
Entendemos como concepto general de derivada a la razón de cambio instantaneo en un punto especifico para cualquier función F(x), en otras palabras podriamos decir que la derivada de una función es la pendiente de la recta tangente a un solo punto de la misma, evaluandola en dos puntos con una distancia de separacion que tiende a cero a la que llamamos delta equis (Δx).
Definiendo la derivada como un limite cuanto Δx tiende a cero podemos obtener tres formulas cuando consideramos los limites extremos, estas formulas son las que se le conocen como: derivada progresiva, regresiva y central
NOTA: Para facilidad de desarrollo, se decidió usar la formula de derivada progresiva, siendo esta la más utilizada para demostraciones matemáticas
MÉTODO DE FUNCIONES EN CASCADA
Desarrollo
Para comprender el funcionamiento de este método es necesario comprender la idea de una segunda derivada, que no es más que la derivada de la función de una primera derivada, por lo que al representar esto mediante formulas obtenemos lo siguiente:
Tomando en cuenta la formula anterior podemos notar que para cada función que programemos es necesario hacer un llamado a la derivada anterior a la del orden que deseamos calcular, consiguiendo funciones simples para calcular cada derivada.
Algoritmo
Para esta investigación se hizo el desarrollo de las funciones para encontrar hasta la cuarta derivada, en donde se definio el valor de retorno como "LONG DOUBLE", debido a la naturaleza de Δx, parámetro que puede contar con valores flotantes con un número considerable de decimales
Limitaciones
Para este método se presentaron las siguientes limitantes:
MÉTODO DE SUSTITUCIÓN
Desarrollo
La lógica para este método parte de la idea de segunda derivada planteada en el método anterior, no obstante, para evitar la dependencia de una función externa, se sustituye la formula de derivada dentro de otra, obteniendo una sola formula para hallar la derivada de forma directa:
Haciendo el despeje correspondiente, obtenemos la siguiente definición para la segunda derivada:
Haciendo el algebra necesaria para cada derivada, obtuvimos las siguientes formulas que permiten a la función un calculo más sencillo con operaciones aritmeticas básicas.
Algoritmo
En cuestión de programación encontramos algo similar al método anterior, donde es necesario una función para cada derivada, no obstante, para esta solución cada derivada es independiente entre si, lo que nos permitir contar solamente con las funciones que requerimos. Por otro lado al igual que las funciones de cascada el valor de retorno fue definidio como "LONG DOUBLE" especialmente por la potencia a la que se somete la variable h, llegando a valores flotantes con un crecimiento exponencial según el orden de la derivada
Limitaciones
Para este método se presentaron las siguientes limitantes:
MÉTODO RECURSIVO
Desarrollo
Para una solución recursiva, debemos tener en cuenta las definiciones que ya hemos planteado para una derivada de orden superior, y con esto representarlas como una serie, en donde cada uno de los terminos es una derivada de orden n, con n mayor a cero, planteando dicha serie tenemos que:
Con nuestra serie defnida, podemos obtener los datos esenciales para desarrollar nuestra función:
Algoritmo
Para este caso se desarrollo una sola función que recibe tres parámetros con los que devuelve la derivada del orden solicitado, a diferencia de los primeros dos métodos no es necesario contar con múltiples funciones, pues, la misma permite hallar derivadas de cualquier orden, adicionalmente nos facilita su uso y disminuye la cantidad de código a utilizar
Limitaciones
Para este método se presentaron las siguientes limitantes:
DEMOSTRACIÓN PRÁCTICA
Resultados para la Función
f(x) =0.2 + 25x -200x^2 + 675x^3-900x^4+ 400x^5
usando x=1 y Δx=0.0005
Contacto
manuelestradamaldonado123@gmail.com
amilcar.cs18@gmail.com
yael.soto@cejv.edu.mx











Comentarios
Publicar un comentario