Una aplicación web interactiva desarrollada con React que implementa métodos numéricos para calcular integrales definidas. Este proyecto permite visualizar y comparar los resultados de tres métodos clásicos de integración numérica: Rectángulo, Trapecio y Simpson.
- Tres métodos de integración implementados: Rectángulo, Trapecio y Simpson
- Visualización gráfica de la función usando Function Plot
- Interfaz intuitiva con entrada de ecuaciones matemáticas
- Cálculo en tiempo real de integrales definidas
- Comparación de resultados entre diferentes métodos
- Diseño responsivo adaptado a diferentes dispositivos
- Evaluación matemática robusta con Math.js
🔗 Ver Demo
- React 18 - Framework de JavaScript
- Math.js - Biblioteca para evaluación de expresiones matemáticas
- Function Plot - Visualización de funciones matemáticas
- CSS3 - Estilos y diseño responsivo
- Create React App - Configuración y herramientas de desarrollo
00012-numerical-integration-calculator/
├── public/
│ ├── index.html # Página principal
│ └── favicon.ico # Icono de la aplicación
├── src/
│ ├── components/
│ │ └── Resultados.jsx # Componente de resultados
│ ├── imgs/
│ │ ├── logo-unt.png # Logo de la universidad
│ │ └── signo-matematico-integral.png
│ ├── styles/
│ │ ├── Ecuacion.css # Estilos de la ecuación
│ │ ├── Resultados.css # Estilos de resultados
│ │ ├── button.css # Estilos de botones
│ │ ├── footer.css # Estilos del footer
│ │ ├── grafica.css # Estilos de la gráfica
│ │ └── header.css # Estilos del header
│ ├── App.js # Componente principal
│ ├── App.css # Estilos principales
│ └── index.js # Punto de entrada
├── package.json # Dependencias y scripts
└── README.md # Documentación
- Aproxima el área usando rectángulos
- Utiliza el punto medio de cada subintervalo
- Fórmula: ∫f(x)dx ≈ h∑f(xi)
- Aproxima el área usando trapecios
- Conecta puntos consecutivos con líneas rectas
- Fórmula: ∫f(x)dx ≈ (h/2)[f(a) + 2∑f(xi) + f(b)]
- Aproxima usando parábolas de segundo grado
- Mayor precisión que los métodos anteriores
- Fórmula: ∫f(x)dx ≈ (h/3)[f(a) + 4∑f(xi) + 2∑f(xi) + f(b)]
-
Clona el repositorio:
git clone https://github.com/FROSTYLAN/00012-numerical-integration-calculator.git
-
Navega al directorio:
cd 00012-numerical-integration-calculator
-
Instala las dependencias:
npm install
-
Inicia la aplicación:
npm start
-
Abre tu navegador en:
http://localhost:3000
- Ingresa tu función en el campo de ecuación (ej:
x^2
,sin(x)
,exp(x)
) - Define los límites de integración (valores mínimo y máximo)
- Especifica el número de subdivisiones (n)
- Haz clic en "Calcular" para obtener los resultados
- Compara los resultados de los tres métodos
- Visualiza la gráfica de tu función
- Soporte para funciones trigonométricas, exponenciales y polinómicas
- Evaluación segura de expresiones usando Math.js
- Manejo de errores en expresiones inválidas
- Gráficas interactivas con Function Plot
- Escalado automático de ejes
- Representación visual de la función a integrar
- Diseño intuitivo con símbolos matemáticos
- Entrada de datos validada
- Resultados mostrados en tiempo real
npm start
- Inicia el servidor de desarrollonpm test
- Ejecuta las pruebasnpm run build
- Construye la aplicación para producciónnpm run eject
- Expone la configuración de webpack
- Implementar algoritmos de integración numérica
- Practicar desarrollo con React
- Integrar bibliotecas matemáticas especializadas
- Crear una interfaz educativa para métodos numéricos
- Desarrollar habilidades en visualización de datos
- Añadir más métodos de integración (Gauss-Legendre, Monte Carlo)
- Implementar análisis de error y convergencia
- Agregar exportación de resultados a PDF
- Incluir más tipos de funciones predefinidas
- Añadir modo oscuro
- Implementar historial de cálculos
- Agregar animaciones en la visualización
Este proyecto fue desarrollado como parte del curso de Métodos Numéricos en la Universidad Nacional de Trujillo (UNT), demostrando la aplicación práctica de algoritmos matemáticos en el desarrollo web.
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE
para más detalles.
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature
) - Commit tus cambios (
git commit -m 'Add some AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
- Castillo Rabanal Luis Javier
- Castillo Rosas Charles Duck
- Cordova Urbina Daily Ashley
- Díaz Tomas Marcos Iván
Universidad Nacional de Trujillo (UNT)
- Facultad de Ciencias Físicas y Matemáticas
- Escuela de Informática
⭐ ¡No olvides dar una estrella al proyecto si te ayudó en tus estudios de métodos numéricos!