Untitled
unknown
python
4 years ago
977 B
5
Indexable
import numpy as np
import matplotlib.pyplot as plt
import math
#Se genera una función que permita calcular el valor que necesitamos
def funcion(x,y):
ec=x+2*y
return ec
#solución exacta de la ecuación diferencial
def solucion(x,y):
sol=.25*math.exp(2*x)-.5*-.25
return sol
#Se solicitan los datos al usuario
h=float(input("Tamaño de paso: "))
S=float(input("¿Hasta que valor?"))
#Cuantas iteraciones se van a hacer y se le agrega un valor extra para poder moverse en todo el vector
n=(S/h)+1
x=np.zeros(n)
y=np.zeros(n)
ys=np.zeros(n)
#x[0]=1
#y[0]=.5 En esta parte se cambian las condiciones inciales
print(x[0],y[0])
#Para hacer los calculos y movernos por los vectores se hace el ciclo for
for i in np.arange(1,n): #arange nos permite movernos en decimales
y[i]=y[i-1]+(funcion(x[i-1],y[i-1]))*h
x[i]=x[i-1]+h
ys[i]=solucion(x[i-1],y[i-1])
print(x[i],y[i])
plt.scatter(x,y)
plt.scatter(x,ys, color='red')Editor is loading...