Please help with what I have so far in Python from numpy import * import math, d
ID: 3803239 • Letter: P
Question
Please help with what I have so far in Python
from numpy import *
import math, decimal
t0 = float (input('Enter initial t value, t0 = '))
tend = float(input('Enter final time value, tend = '))
y0 = float(input('Enter initial y value, y0 = '))
MaxN = int(input('Enter Max Steps value, MaxN = '))
print ('t0, y0, tend, MaxN = {:4f} {:4f} {:4f} {:4f}'.format (t0, y0, tend, MaxN))
dt = (tend-t0)/MaxN
print('delta t, step size = (:4f)'.format(dt))
print ('MaxN (tn) (yn) yexact ERRn ERRmax)
print ('==== ====== ====== ======== ====== ========')
def euler (fcn, y0, t0,tend,dt):
Yn = y0
tn = t0
ERRmax = 0
for n in range (0, MaxN):
Yn = Yn + dt*fcn(tn,Yn)
tn = tn + dt
yexact = tn*tn + 1
ERRn = abs(yexact - Yn)
ERRmax = max(ERRmax,ERRn)
print ('(:i.0f) (:12.6f) (:12.6f) (:12.6f) (:12.6f) (:12.6f)'.format (t0, y0, tend, MaxN))
def fcn(tn, Yn)
return 2*tn
Explanation / Answer
from numpy import *
import math, decimal
t0 = float (input('Enter initial t value, t0 = '))
tend = float(input('Enter final time value, tend = '))
y0 = float(input('Enter initial y value, y0 = '))
MaxN = int(input('Enter Max Steps value, MaxN = '))
print ('t0, y0, tend, MaxN = {:4f} {:4f} {:4f} {:4f}'.format (t0, y0, tend, MaxN))
dt = (tend-t0)/MaxN
print('delta t, step size = (:4f)'.format(dt))
print ('MaxN (tn) (yn) yexact ERRn ERRmax)
print ('==== ====== ====== ======== ====== ========')
def euler (fcn, y0, t0,tend,dt):
Yn = y0
tn = t0
ERRmax = 0
for n in range (0, MaxN):
Yn = Yn + dt*fcn(tn,Yn)
tn = tn + dt
yexact = tn*tn + 1
ERRn = abs(yexact - Yn)
ERRmax = max(ERRmax,ERRn)
print ('(:i.0f) (:12.6f) (:12.6f) (:12.6f) (:12.6f) (:12.6f)'.format (t0, y0, tend, MaxN))
def fcn(tn, Yn)
return 2*tn