Untitled

 avatar
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...