Méthode d'Euler

Qu'est ce que c'est ?

En mathématiques, la méthode d'Euler, nommée ainsi en l'honneur du mathématicien Leonhard Euler, est une procédure numérique pour résoudre par approximation des équations différentielles du premier ordre avec une condition initiale. C'est la plus simple des méthodes de résolution numérique des équations différentielles.

Comment ça marche ?

Méthode d'Euler :

Pas



Soit la courbe représentatrice de .

Valeurs successives : 0 , 0.5 , 1, 1.5 , 2 , 2.5 , 3 .































En gros plus on reduit le pas , plus se rapproche de .

... en JAVASCRIPT :

const input = document.querySelector("input")
const canvas = document.querySelector("canvas");
const h2 = document.querySelector("h3");
const ctx = canvas.getContext("2d");
var x1 = [];
var y1 = [];
var x2 = [0];

for (let index=0; index<1000; index++) x2.push(x2[index]+.01)

const defFx = (step,loop) => {
    i=0; x1.push(i); y1.push(1);
    for (let index=0; index<loop; index++) { x1.push(x1[index]+step); y1.push(y1[index]+y1[index]*step); i+=step; }
}

const drawExp = (x) => {
    ctx.beginPath(); ctx.moveTo(0,0); ctx.strokeStyle = "#0000ff";
    for (let i = 0; i<x.length; i++) { ctx.lineTo(Math.exp(x[i]),x[i]*50,3,3); }
    ctx.stroke(); ctx.closePath();
}
const main = () => {
    x1 = []; y1 = [];
    ctx.clearRect(0, 0, 600, 600);
    defFx(1/input.value,1000); drawExp(x2);
    ctx.beginPath(); ctx.moveTo(0,0);
    ctx.strokeStyle = "#ff0000";
    for (let i = 0; i<y1.length; i++) { ctx.lineTo(y1[i],x1[i]*50); }
    ctx.stroke(); ctx.closePath(); h2.innerHTML = `Pas : ${1/input.value}`;
}    
input.addEventListener("input", () => { main() })
main()

Pas : 20