4 votos

¿Una forma agradable de hacer el método de Euler en una calculadora?

Como parte del trabajo de la calculadora para el IB (Bachillerato Internacional), es posible que se nos pida hacer el método de Euler, por ejemplo, 10 iteraciones.

Aunque es factible hacerlo con una calculadora (un poco más fácil si tienes 2 calculadoras), es bastante molesto y es muy fácil cometer un error al tener que volver a escribir los números en la calculadora.

El problema aquí es que las calculadoras solo pueden almacenar 1 respuesta (Ans) a la vez, y que cualquier intento de almacenar tu respuesta en una memoria borraría la línea de cálculo que tendrías que volver a escribir.

Por otro lado, puedes usar fácilmente la calculadora para ejecutar funciones recursivas que solo dependen de 1 variable.

Por ejemplo, puedo calcular el término $n$-ésimo de la siguiente secuencia recursiva presionando repetidamente el botón =:

$$T_{n+1}=T_n^3+\sqrt{T_n}-\frac{1}{T_n},\, T_0=5$$

En este ejemplo, primero presionaría 5 = y luego escribiría ${Ans}^3+\sqrt{Ans}-\frac{1}{Ans}$ y presionaría = $n$ veces para obtener $T_n$.

Sin embargo, esto no es posible con el método de Euler que tiene fórmulas recursivas:

$$x_{n+1}=x_n+h$$ $$y_{n+1}=y_n+h\frac{dy_n}{dx_n}$$

donde $h$ es el paso (que se puede pre-almacenar en una memoria) y $\frac{dy_n}{dx_n}=f(x_n, y_n)$.

Se nos permite usar una calculadora gráfica (GDC) que tiene varias funciones. He encontrado una manera de hacer esto usando la función de hoja de cálculo que es bastante engorrosa, pero al menos evita los errores de copia al volver a escribir números en mi calculadora. Me preguntaba si había métodos aún más fáciles para hacer esto, así que pediré los siguientes métodos, si es posible:

Método A

Preferiría que se pudiera usar un método con las siguientes restricciones para ejecutar el método de Euler:

Tienes una calculadora que es una calculadora científica ordinaria que tiene la capacidad de almacenar la respuesta anterior (Ans). Tienes la capacidad de escribir una función completa en términos de (Ans) como se muestra en el primer ejemplo. ¿Es posible escribir una línea que haría el método de Euler presionando repetidamente =?

*Nota: Soy consciente de que este método probablemente es posible pero puede ser bastante complicado de escribir/aprender. Por lo tanto, preferiría el Método B si es más simple, ya que estaría bajo la presión del tiempo de un examen. Sin embargo, todavía estaría interesado en un método A que pueda hacer el método de Euler por mí, ya que personalmente prefiero mi calculadora científica ordinaria a mi GDC.

Método B

Además de la herramienta Ans dada en el Método A, también tienes la capacidad de escribir matrices $m\times n$ en tu calculadora. La calculadora puede aceptar matrices en su entrada y puede producir matrices que se almacenarán en Ans. La multiplicación de matrices (y elevar a una potencia) se puede realizar junto con funciones de traspuesta, determinante e inversa (si es posible) en matrices. Ten en cuenta que no puedo "obtener" la celda $(i,j)$ de una matriz, tengo que usar la matriz como un todo.

Sin embargo, aún puedo hacer algo como lo siguiente:

$$\pi\begin{bmatrix}\sqrt{\det\left({Ans}^{T} \times \begin{bmatrix}3 & 4\\12 & \det(Ans)\end{bmatrix}^{-1}\right)} & 4\\\det(Ans)^2 & -\det({Ans}^2)\end{bmatrix}^3$$

De manera similar, ¿hay una línea que podría hacer el método de Euler?

EDICIÓN:

Método C

Desafortunadamente, resulta que mi calculadora no puede aceptar matrices dentro de matrices, lo cual es una verdadera lástima - fue un error pensar que podía. Solo puede manipular respuestas en forma de matriz, y solo puedo ingresar matrices constantes. Sin embargo, estoy seguro de que hay una manera de evitar este problema con alguna multiplicación de matrices.

Así que mi calculadora puede hacer algo como:

$$\begin{bmatrix}1 & 2 \\ 8 & 2\end{bmatrix}^{-2}\times {Ans}^T \times {(Mat\, A)}^{-1}$$

(Donde Mat A está previamente almacenado en la memoria. Ten en cuenta que Ans aún puede ser una matriz)

Ten en cuenta que mis calculadoras pueden almacenar valores (y matrices en el caso del método B) en su memoria, pero solo serían valores iniciales para variables (como $h$, $x_0$ y $y_0$), ya que la línea debe borrarse antes de poder escribir la línea que puede almacenar en la memoria.

Además de estos métodos, si hay alguna función/herramienta que me esté pasando por alto en estas calculadoras que podría usar para simplificar mi tarea, me encantaría escucharlo.

0 votos

Gracias, pero ya uso ese método (y la simplificación mencionada no es posible cuando $\frac{dy}{dx}$ es una función de $x$ e $y$.)

0 votos

Aunque estoy seguro de que el Método B es posible en algunas calculadoras, resulta que no es posible en mi calculadora (debería haber verificado correctamente antes de escribir esta pregunta), y solo puedo escribir matrices constantes. Por lo tanto, he realizado una edición para adaptarme a esto. Estoy seguro, sin embargo, de que los Métodos B deberían poder convertirse fácilmente en Métodos C.

1voto

Tenga en cuenta que podemos extraer las entradas individuales en un vector tomando su producto punto con el vector base estándar apropiado. En particular: $$ \begin{bmatrix} 1 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = x \qquad\text{y}\qquad \begin{bmatrix} 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix} = y $$ Supongamos que queremos usar el método de Euler para resolver el problema de valor inicial (IVP): $$ y'(x, y(x)) = x^2 + (y(x))^3 \text{ donde } y(0) = 8 $$ Entonces podríamos inicializarlo así: $$\textsf{Ans} := \begin{bmatrix} 0 \\ 8 \end{bmatrix} $$ Y usar la recurrencia de primer orden: $$\textsf{Ans} := \begin{bmatrix} (\begin{bmatrix} 1 & 0 \end{bmatrix} \textsf{Ans}) + h \\ (\begin{bmatrix} 0 & 1 \end{bmatrix} \textsf{Ans}) + h((\begin{bmatrix} 1 & 0 \end{bmatrix} \textsf{Ans})^2 + (\begin{bmatrix} 0 & 1 \end{bmatrix} \textsf{Ans})^3) \end{bmatrix} $$

1 votos

¡¡¡Gracias!!! ¡Sabía que me faltaba algo: poder extraer entradas individuales es muy útil! :) Aceptaré tu respuesta en unos días; aún me interesa ver si hay un método A que sea posible.

0 votos

Ten en cuenta que todavía tengo que tomar los determinantes de las matrices 1x1 ya que mi calculadora no puede entender $\begin{bmatrix} 1\end{bmatrix} + 1$, pero esto sigue resolviendo mi problema.

0 votos

Mis disculpas por no haber revisado esto antes, pero resulta que solo puedo escribir en matrices constantes (aunque aún puedo manipular respuestas en forma de matriz). Si no te importaría, ¿podrías ver si es posible sortear este problema (posiblemente con alguna multiplicación de matrices)?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X