Alors voilà, je tente de créer un programme pour calculer les extrema d'une fonction à deux variables
et il ne fonctionne pas. Il ne me demande même pas de saisir la fonction.
Je précise que je suis totalement novice et pas très calée je dois dire..
Donc, juste pour rappel au cas où la méthode est :
- Calcul des points critiques (différentielles égales à zéro)
- Calcul de la matrice hessienne (avec les différentielles selon les deux variables)
- Calcul des valeurs propres de cette matrice
- Si leur produit positif et leur somme positive : minimum
- Produit positif et somme négative : maximum
- Produit négatif : rien du tout
Voici mes codes:
Code : Tout sélectionner
Extrema():={
saisir(h(x:y));
H:=matrix([diff(diff(h(x:y),x),x),diff(diff(h(x:y),x),y)],[diff(diff(h(x:y),y),x),diff(diff(h(x:y),y),y)]);
M:=H-v*idn(H);
S:=[solve([det(M)=0],[v])];
a:=diff(h(x:y),x);
b:=diff(h(x:y),y);
Q:=[solve([a=0,b=0],[x,y])];
T:=[dim(Q)];
C:=T[0,1];
pour n de 0 jusque C-1 faire
x:=Q[0,n][0];
y:=Q[0,n][1];
W:=S[0,0];
U:=S[0,1];
si U*W<0 alors afficher(pas_dextremum);
fsi
si U*W>0 alors
r:=U+W;
si r<0 alors
afficher(maximum) sinon afficher(minimum);
fsi
fsi
fpour
}
:;
De surcroit je ne sais pas comment faire pour que le programme affiche "Minimum en (x,y)"
en affichant bien les x,y calculés..
Merci d'avance pour votre aide!