Untitled
unknown
python
3 years ago
725 B
2
Indexable
import numpy as np def f(x,y): fx=x+y-1 return fx def Mp(f,x0,y0,h,xf): n = int((xf-x0)/h)+1 x=[] y=[] x.append(x0) y.append(y0) yp=[] for i in range(1, n-1): xi,yi = x[i-1],y[i-1] k1 = f(xi,yi) k2 = f(xi+h/2,yi+1/2*h*k1) k3 = f(xi+h/2,yi+1/2*k2*h) k4 = f(xi+h,yi+k3*h) x.append((round(xi+h,1))) y.append(((yi+(1/6)*h*(k1+2*k2+2*k3+k4)))) for i in range(0,n-1): yp.append(f(x[i],y[i])) yaste4=y[n-2]+(0.2/24)*(55*yp[n-2]-59*yp[n-3]+37*yp[n-4]-9*yp[n-5]) yprim4=f(xf,yaste4) y.append(y[n-2]+(0.2/24)*(9*yprim4+19*yp[n-2]-5*yp[n-3]+yp[n-4])) print(x) print(y) Mp(f,0,1,0.2,0.8)
Editor is loading...