CoCalc Public Filescloud-examples / sage / 2018-02-08-195444_Método_de_Euler.sagews
Views : 214
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 0x7f15c8469670>] [<matplotlib.lines.Line2D object at 0x7f15c84fe9d0>]