Les lignes de courant du champ gradient sont les solutions de [-(x-4y) + (2x+y) y'(x) = 0]
fromsage.calculus.desolversimportdesolve_system_rk4var('x')y=function('y')(x)# p est une fonction de la variable tEDO=diff(y,x)==(x-4*y)/(2*x+y)# On déclare l'EDO à considérer. Bien noter le double signe égal.g=Graphics()# On commence par créer un graphique videforiinsrange(-1,1,0.1):# On produit la liste des nobres de 0 à 12, par pas de 0.2. Ces nombres serviront de conditions initialesg+=line(desolve_rk4(EDO,y,ics=[0,i],step=0.02,end_points=[-1,1]),color="green")# Au graphique, on rajoute la courbe solution de l'EDO avec la nouvelle cond. init.var('y')# On fait que y devienne une variable, nécessaire si on veut dessiner le champ.#g+= plot_slope_field((x-4*y)/(2*x+y), (x,-2,2), (y,-2,2), color="red", headlength =2)# on rajoute le champg+=Gradg.show(ymin=-1,ymax=1,figsize=6,aspect_ratio=1)# On montre le tout, en spécifiant l'étendue de l'axe des ordonnées.