Champ de gradient

Champ de gradient

Messagepar michal » 23 Juin 2022 10:22

Bonjour,

Est-ce qu'il y a quelque chose dans texgraph pour représenter un champ de gradients ?
Par exemple, on se donne la fonction f(x,y)=x^2 +y^2 et je voudrais représenter, en chaque point du plan, le gradient de f.
Merci d'avance pour votre réponse.

Michal
michal
 
Messages: 44
Inscription: 25 Fév 2010 16:09

Re: Champ de gradient

Messagepar P.Fradin » 23 Juin 2022 11:10

Bonjour Michal,

Rien de prévu par défaut, mais cela peut se programmer.
Je n'ai pas le temps aujourd'hui, mais je regarde ça ce soir au demain.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Champ de gradient

Messagepar michal » 23 Juin 2022 11:16

Et on peut pas attraper ça avec ce qui est prévu pour les équations différentielles ?
michal
 
Messages: 44
Inscription: 25 Fév 2010 16:09

Re: Champ de gradient

Messagepar P.Fradin » 23 Juin 2022 21:21

J'avais déjà un fichier pour les champs de vecteurs. Je l'ai adapté au champs de gradients.
Le bouton Modifier permet de changer l'expression de $f(x,y)$.
Le programme calcule le vecteur $g = (\frac{\partial f}{\partial x}, \frac{\partial f}{\partial y})$ (calcul approché par deux taux d'accroissement), et trace ce vecteur à partir du point (x,y). Si le paramètre longueur est strictement positif, les vecteurs tracés auront cette longueur, sinon ils sont tracés tels quels.
Par exemple, avec $f(x,y)=x^2+y^2$ avec longueur = 0.5 :

champGradient.png
champGradient.png (34.63 Kio) Consulté 36967 fois


champGradient.teg
(1.2 Kio) Téléchargé 1028 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Champ de gradient

Messagepar P.Fradin » 25 Juin 2022 11:14

Si on ne veut pas utiliser de fichier texgraph mais que l'on veut mettre le code directement dans un document TeX, alors on peut tout mettre en une seule commande :

Code: Tout sélectionner
[
view(-5,5,-5,5), Margin(0,0,0,0), size(8),
Axes(0,0,2+2*i),
// expression de la fonction f(x,y) sous forme de chaine
expr := "x^2+y^2",
//paramètres
h := 1E-6,
longueur := 0.5,
deltaX := 0.5,
deltaY := 0.5,
// tracé
NewMac("f",expr,x,y),
Arrows := 1, Width := 6, CurrentArrowScale := 0.5,
if longueur<=0
   then $facteur := 1 // longueur naturelle
   else facteur := longueur // longueur fixe
fi,
draw("line",[
 for $y from Ymin to Ymax step deltaY do
   for $x from Xmin to Xmax step deltaX do
            $v := (f(x+h,y)-f(x,y) +i*(f(x,y+h)-f(x,y)))/h,
       v := v/abs(v)*facteur,
       x+i*y, x+i*y+v, jump
   od
 od])
]
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1902
Inscription: 29 Oct 2008 15:04

Re: Champ de gradient

Messagepar michal » 25 Juin 2022 22:09

Merci !
michal
 
Messages: 44
Inscription: 25 Fév 2010 16:09


Revenir vers Analyse

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité