CoCalc Public Filescloud-examples / sage / 2018-02-08-195444_Método_de_Euler.sagewsOpen with one click!
Author: Gerardo Emilio García Almeida
Views : 105
Description: Método de Euler
Compute Environment: Ubuntu 18.04 (Deprecated)
# -*- coding: utf-8 -*- # Método de Euler import numpy as np import matplotlib.pyplot as plt #import math def function(x,y): f=-x/y return f def sol_exacta(x,y): g=sqrt(64-x**2) return g x0=0 xf=8 y0=8 n=10 h=(xf-x0)/n x=np.zeros(n) y=np.zeros(n) ye=np.zeros(n) x[0]=x0 y[0]=y0 ye[0]=y0 print('x','y_euler','y_exacta') print(x[0],y[0],ye[0]) for i in range(n-1): x[i+1]=x[i]+h y[i+1]=y[i]+h*function(x[i],y[i]) ye[i+1]=sol_exacta(x[i+1],y[i+1]) print(x[i+1],y[i+1],ye[i+1]) t=np.linspace(x0,xf,1000) plt.plot(x,y,'b-') plt.plot(t,sol_exacta(t,y),'g-') plt.grid(true) plt.show()
x y_euler y_exacta 0.0 8.0 8.0 0.8 8.0 7.95989949685296 1.6 7.92 7.83836717690617 2.4000000000000004 7.758383838383838 7.631513611335565 3.2 7.510909616948571 7.332121111929344 4.0 7.170072071223977 6.928203230275509 4.8 6.723772512696145 6.4 5.6 6.152664553176526 5.71314274283428 6.3999999999999995 5.424524742972336 4.800000000000001 7.199999999999999 4.480663254160225 3.4871191548325404 [<matplotlib.lines.Line2D object at 0x7fd6ef60eac8>] [<matplotlib.lines.Line2D object at 0x7fd6ef6a7748>]