function df_dx(x, y) { // Dérivée partielle de f par rapport à x return -y + 0.5; }
function df_dy(x, y) { // Dérivée partielle de f par rapport à y return 0.5 - x; }
function findSaddlePoint() { const epsilon = 1e-6; // Tolérance pour la précision const maxIter = 1000; // Nombre maximal d'itérations let x = 0.5; // Valeur initiale pour x let y = 0.5; // Valeur initiale pour y
// Méthode de Newton pour résoudre df/dx = 0 et df/dy = 0 for (let iter = 0; iter < maxIter; iter++) { // Calcul des dérivées const fx = df_dx(x, y); const fy = df_dy(x, y);
// Si les dérivées sont proches de zéro, on a trouvé un point stationnaire if (Math.abs(fx) < epsilon && Math.abs(fy) < epsilon) { return { x: x, y: y, value: f(x, y) }; }
// Mise à jour de x et y en utilisant la méthode de Newton-Raphson // En supposant que les dérivées secondes (hessiennes) sont approximées ici par les dérivées premières. x = x - fx * 0.1; // Mettre à jour x y = y - fy * 0.1; // Mettre à jour y }
// Si aucune solution n'est trouvée return { x: NaN, y: NaN, value: NaN }; }
const saddlePoint = findSaddlePoint(); console.log(`Le point selle approximatif est : (x, y) = (${saddlePoint.x}, ${saddlePoint.y}), f(x, y) = ${saddlePoint.value}`);
script qui me donne les pts selle d'une fonction à multivariable (j'ai verif, le resultat est bon )
AA_givenchy
il y a 3 mois