[C con Clase] Codigo de Euler en C
Steven Davidson
srd4121 en njit.edu
Mar Jun 15 05:27:50 CEST 2010
Hola Ainhize,
ainhize goenaga wrote:
> Hola,
> Somos estudiantes de 1 de ingenieria informatica y como proyecto de
> fin de curso nos han mandado hacer un programa que resuelva un
> circuito de un filtro pasivo RC con el codigo de euler.
>
> Hasta ahora tenemos esto:
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <math.h>
> #define PI 3,141592653
Esto no es correcto. En C, se usa el punto para separar la parte entera
de la decimal. Esto es,
#define PI 3.141592653
Por cierto, algunos compiladores definen la constante simbólica 'M_PI'
para definir el número pi. Podrías intentar lo siguiente:
#ifndef M_PI
#define M_PI 3.141592653
#endif
En cuanto al problema que estás (estáis) teniendo, sinceramente se me
hace un poco difícil seguir las fórmulas de Maple que has escrito al
igual que las ecuaciones del modelo del comportamiento del circuitio RC.
De todas maneras, nos centraremos en el método de Euler. Sospecho que te
refieres al método para aproximar la solución del siguiente problema:
dy/dt = f(t,y), a <= t <= b, y(a) = A
con (N+1) "muestras" tomadas del intervalo [a,b].
El pseudo-código del método de Euler es:
Real solucion( Real a, Real b, Entero N, Real A )
1. h <- (b-a)/N
2. t <- a
3. res <- A
4. Para: i <- 1 hasta N, repetir
5. res <- res + h*f(t,res)
6. t <- a + i*h
7. Terminar( res )
(Nota: <- significa "asignar").
Creo que el pseudo-código es bastante claro, por lo que no deberías
tener problemas al implementarlo en C.
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase