CoCalc Public Filescloud-examples / sage / 2018-02-08-195444_Método_de_Euler.sagewsOpen with one click!
Author: Gerardo Emilio García Almeida
Views : 84
Description: Método de Euler
# -*- 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 0x7f636403ca10>] [<matplotlib.lines.Line2D object at 0x7f636403cf90>]