RungeKutta
El método de Runge-Kutta para la resolución eficiente de sistemas de ecuaciones diferenciales. Este proyecto ofrece una interfaz simple para ingresar parámetros como el tamaño del paso y condiciones iniciales, generando resultados detallados tanto en formato tabular como gráfico.
Install / Use
/learn @OmerJuve2023/RungeKuttaREADME
RungeKutta
Este repositorio contiene un programa en Java para resolver un sistema de ecuaciones diferenciales utilizando el método de Runge-Kutta. El programa solicita la entrada del usuario para parámetros como el tamaño del paso (h), condiciones iniciales (x1 e y1), y el rango de iteraciones. Luego realiza los cálculos y muestra los resultados tanto en forma tabular como gráfica.
Tabla de Contenidos
- Requisitos Previos
- Instalación
- Formato de Entrada
- Ejemplo de Entrada
- Ejemplo de Salida
- Dependencias
- Nota
Requisitos Previos
Antes de ejecutar la aplicación, asegúrese de tener instalados los siguientes requisitos previos:
- [x] Java 8 o posterior
- [x] Maven
Instalación
Para instalar la aplicación, siga los siguientes pasos:
- Clone el repositorio en su máquina local:
git clone https://github.com/OmerJuve2023/RungeKutta.git
- Navegue a la carpeta del proyecto:
cd RungeKutta
- Compile el proyecto:
mvn clean install
- Ejecute el proyecto:
java -jar target/RungeKutta-1.0.0.jar
Formato de Entrada
- h: Tamaño del paso para cada iteración.
- Función A y Función B: Expresiones matemáticas que representan el sistema de ecuaciones diferenciales.
- x1 e y1: Condiciones iniciales para las variables.
- Rango inicial y Rango final: El rango de iteraciones.
Ejemplo de Entrada
Income h: 1
Income Function A: 2*x+2
Income Function B: 3*y+1
Income x1: 1
Income y1: 2
Income init range: 0
Income final range: 10
Ejemplo de Salida
----------------------------
itera: 1 t: 1
K1: 4 L1: 7
k2: 2*8.0+2=8 L2: 3*17.5+1=17.5
k3: 2*12.0+2=12 L3: 3*33.25+1=33.25
k4: 2*28.0+2=28 L4: 3*106.75+1=17.5
----------------------------------------------------------
itera: 2 t: 2
K1: 28 L1: 114.625
k2: 2*56.0+2=56 L2: 3*286.5625+1=286.5625
k3: 2*84.0+2=84 L3: 3*544.46875+1=544.46875
k4: 2*196.0+2=196 L4: 3*1748.03125+1=286.5625
----------------------------------------------------------
itera: 3 t: 3
K1: 196 L1: 1876.984375
k2: 2*392.0+2=392 L2: 3*4692.460938+1=4692.460938
k3: 2*588.0+2=588 L3: 3*8915.675781+1=8915.675781
k4: 2*1372.0+2=1372 L4: 3*28624.011719+1=4692.460938
----------------------------------------------------------
...
iteration T X Y
1 | 0.00 | 01.000000 | 02.000000
2 | 1.00 | 13.000000 | 37.875000
3 | 2.00 | 97.000000 | 625.328125
4 | 3.00 | 685.000000 | 10244.873047
5 | 4.00 | 4801.000000 | 167764.921143
6 | 5.00 | 33613.000000 | 2747155.708710
7 | 6.00 | 235297.000000 | 44984679.855122
8 | 7.00 | 1647085.000000 | 736624137.752616
9 | 8.00 | 11529601.000000 | 12062220260.824093
10 | 9.00 | 80707213.000000 | 197518856776.119540
Continue: si/no
Dependencias
<dependencies>
<dependency>
<groupId>org.scijava</groupId>
<artifactId>jep</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.github.yannrichet</groupId>
<artifactId>JMathPlot</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Nota
Este programa utiliza el método de Runge-Kutta para aproximar soluciones a un sistema de ecuaciones diferenciales. La precisión de los resultados depende del tamaño del paso (h). Ajusta el tamaño del paso en función de las características específicas del sistema que estás modelando.
Related Skills
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
