> with(plots):
eu:=proc(alpha,N,a,b,u0)    

local S,x,y,k,Cnum,Cexact,s,snum,u:   

S:=NULL;   

x:=a;

y:=u0;  

for k from 0 to N do

x:=a+k*(b-a)/N;

y:=u0*(1+alpha*(b-a)/N)^k;

P(k):=[x,y]:      

S:=S,P(k):

od:

snum:=dsolve({diff(u(t),t)=alpha*u(t),u(0)=u0},u(t),type=numeric);

s:=dsolve({diff(u(t),t)=alpha*u(t),u(0)=u0},u(t));

Cnum:=plot([S]):

Cexact:=odeplot(snum,[t,u(t)],a..b,style=point):

printf(`En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par %a`,s);

display(Cnum,Cexact);

end:

Warning, the name changecoords has been redefined

> eu(-4,100,0,3,1);

En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par u(t) = exp(-4*t)

[Plot]

> Eu:=proc(f,N,a,b,u0)    
local S,x,y,k,h,Cnum,Cexact,snum,u,s:   

S:=NULL;   

x:=a;

y:=u0;  

h:=(b-a)/N;

for k from 0 to N do

y:=y+f(y,x)*h;

x:=a+k*h;  

P(k):=[x,y]:      

S:=S,P(k):

od:

snum:=dsolve({diff(u(t),t)=f(u(t),t),u(0)=u0},u(t),type=numeric);

s:=dsolve({diff(u(t),t)=f(u(t),t),u(0)=u0},u(t));

Cnum:=plot([S]):

Cexact:=odeplot(snum,[t,u(t)],a..b,style=point):

printf(`En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par %a`,s);

display(Cnum,Cexact);

end:

> Eu((u,t)->-4*u+t,100,0,3,1);

En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par u(t) = 1/4*t-1/16+17/16*exp(-4*t)

[Plot]

> Mil:=proc(f,N,a,b,u0)    
local S,x,y,ymoins,yplus,k,Cnum,Cexact,snum,u,s,h:   

S:=NULL;   

h:=(b-a)/N;

x:=a;

ymoins:=u0;

y:=ymoins+h*f(ymoins,x);

for k from 1 to N do

x:=a+k*h;

yplus:=ymoins+2*h*f(y,x);

P(k):=[x+h,yplus]:      

S:=S,P(k):

ymoins:=y;

y:=yplus;

od:

snum:=dsolve({diff(u(t),t)=f(u(t),t),u(0)=u0},u(t),type=numeric);

s:=dsolve({diff(u(t),t)=f(u(t),t),u(0)=u0},u(t));

Cnum:=plot([S]):

Cexact:=odeplot(snum,[t,u(t)],a..b,style=point):

printf(`En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par %a`,s);

display(Cnum,Cexact);

end:

> Mil((u,t)->-2*u+t,200,0,3,1);

En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par u(t) = 1/2*t-1/4+5/4*exp(-2*t)

[Plot]

> with(plots):

> EquaDiff:=proc(f,a,b,y0,yp0,N)
local d,dd,x,y,ymoins,k,Q,c,yp,S,s,sn,g,h:

S:=NULL;

x:=a;

y:=y0;

yp:=yp0;

h:=(b-a)/N;

for k from 0 to N do

ymoins:=y;

y:=y+yp*h;

yp:=yp+(f(yp,ymoins,x))*h;

x:=a+k*h;

Q(k):=[x,y]:

S:=S,Q(k):

od:

s:=dsolve({f(diff(g(t),t),g,t)=diff(g(t),t,t),D(g)(0)=yp0,g(0)=y0},g(t)); #au cas où Maple sait resoudre

sn:=dsolve ({f(diff(g(t),t),g,t)=diff(g(t),t,t),D(g)(0)=yp0,g(0)=y0},g(t),numeric); # sinon

d:=plot([S]): # votre solution

dd:=odeplot(sn,[t,g(t)],a..b,style=point): # solution Maple

printf(`En fait, la solution est la fonction g définie par %a`,s);

display(d,dd);

end:

> EquaDiff((yp,y,x)->-y,0,10,1,1,200);

Error, (in ODEtools/info) g(t) and g cannot both appear in the given ODE.

> IntegNum:=proc(N,alpha,beta,gamma,a,b,u0)    
local S,x,y,k,h,Cnum,Cexact,snum,u,s:   

S:=NULL;   

x:=a;

y:=u0;  

h:=(b-a)/N;

for k from 0 to N do

y:=(1/(1-alpha*h/2))*((1+alpha*h/2)*y+beta*(2*k+1)*h^2/2+gamma*h);

x:=a+k*h;  

P(k):=[x,y]:      

S:=S,P(k):

od:

snum:=dsolve({diff(u(t),t)=alpha*u(t)+beta*t+gamma,u(0)=u0},u(t),type=numeric);

s:=dsolve({diff(u(t),t)=alpha*u(t)+beta*t+gamma,u(0)=u0},u(t));

Cnum:=plot([S]):

Cexact:=odeplot(snum,[t,u(t)],a..b,style=point):

printf(`En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par %a`,s);

display(Cnum,Cexact);

end:

> IntegNum(100,3/2,1,0,0,5,2);

En fait, pour satisfaire votre curiosité, sachez que la solution est la fonction  définie par u(t) = -2/3*t-4/9+22/9*exp(3/2*t)

[Plot]

>