var('c t')
#Definitionen
c=1 #siehe oben
f(t)=c*e^t #unser Lösungsschema
h=10^(-1) #Schrittgröße
t(m)=0+m*h #bei t=0 starten
#Euler-Verfahren:
f_h=lambda m: f_h(m-1)+f(t(m-1))*h if m>0 else 1
#Runge-Kutta-verfahren:
k1(m)=f(t(m))
k2(m)=f(t(m)+h/2)
k3(m)=k2(m)
k4(m)=f(t(m+1))
r_h=lambda m: r_h(m-1)+h/6*(k1(m-1)+2*k2(m-1)+2*k3(m-1)+k4(m-1)) if m>0 else 1
#lasset uns plotten
start=0; to=2
plot(lambda x: f_h(x/h),(x,start,to),color="blue")+plot(f,(x,start,to),color="red")+plot(lambda x: r_h(x/h),(x,start,to),color="green")