1 /* vim: set et ts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t:
3 * Taller de Programación (75.42).
6 * Graficador de la solución de una ecuación diferencial por el método
7 * de Euler (explícito).
9 * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
10 * Puede copiar, modificar y distribuir este programa bajo los términos de
11 * la licencia GPL (http://www.gnu.org/).
13 * Creado: sáb ago 23 16:59:01 ART 2003
24 * \ref integracion "Calcula" el siguiente paso de la función numérica.
25 * Obtiene el siguiente valor de \f$ f \f$, integrando numéricamente la \ref
26 * funcion "ecuación diferencial" por el \ref metodo "método de euler".
28 * f_{t + step} = f_{(step, f_t)} = f_t + \frac{500 - f_t}{30} \cdot step
31 * \note Se pone en un macro para poder reemplazar fácilmente la función sin la
32 * pérdida de velocidad que agrega la indirección de un llamado a una
35 #define FUNCION(paso, ft) ((ft) + ((500.0 - (ft)) / 30.0) * paso)
38 * \ref integracion "Calcula" todos los valores de la función.
40 * \param res Vector donde se guardan los resultados.
41 * \param paso Paso de iteración.
42 * \param ti Tiempo de inicio de la iteración.
43 * \param tf Tiempo final de la iteración.
44 * \param f0 Valor inicial de la función.
46 * \return Cantidad de pasos realizados.
48 size_t resultados_calcular(Resultados* res, Real paso, Real ti, Real tf, Real f0);