Tangentes et dérivées partielles

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Re: Tangentes et dérivées partielles

Messagepar maurice » Mercredi 05 Janvier 2011, 22:21

Variation sur le même thème :

Code: Tout sélectionner
import graph3;

size(12cm,0);

currentprojection=orthographic(
camera=(6.70544201648284,-0.775280645147703,1.90994169441184),
up=(-0.00381197716192466,0.00208518736562723,0.0142295375229004),
target=(-8.88178419700125e-16,-8.88178419700125e-16,-8.88178419700125e-16),
zoom=1);
//currentprojection=orthographic(1,2,1);
//currentlight=(1,-1,0.5);

pair a=(-2.5,-2);
pair b=(2.5,2);

//Definition de la surface

real f(pair z) {
        real r=z.x^2+z.y^2;
        if (r!=0)  return z.x*z.y/r;
                 else return 0;
                        }
surface s=surface(f,a,b,25,25,Spline);

//Intersection avec y=cy
real cy=0;
real x1(real t) {return t;}
real y1(real t) {return cy;}
real z1(real t) {pair z=(t,cy); return f(z);}

path3 inter1=graph(x1,y1,z1,a.x,b.x);

//Intersection avec x=cx
real cx=0;
real x2(real t) {return cx;}
real y2(real t) {return t;}
real z2(real t) {pair z=(cx,t); return f(z);}

path3 inter2=graph(x2,y2,z2,a.y,b.y);

//intersection des deux chemins
triple inter=intersectionpoint(inter1, inter2);

//Derivées partielles
real dx=0.1^10, dy=dx;

pair interplusdx=(inter.x+dx,inter.y);
//pair interx=project(inter,Z);
pair interx=(inter.x,inter.y);
real partialx=(f(interplusdx)-f(interx))/dx;
path3 tgx=inter--(inter.x+1,inter.y,inter.z+partialx);

pair interplusdy=(inter.x,inter.y+dy);
pair intery=(inter.x,inter.y);
real partialy=(f(interplusdy)-f(intery))/dy;
real nor=sqrt(inter.x^2+(inter.y+1)^2+(inter.z+partialy)^2);
path3 tgy=inter--(inter.x,inter.y+1,inter.z+partialy)/nor;


// Eléments graphiques
draw(s,lightgray+opacity(0.8),lightgray+thick());
draw(inter1,blue);
draw(inter2,red);
dot(inter, 5bp+green);
axes3("$x$", "$y$", "$z$",
   min=(a.x,a.y,0),
   max=(b.x,b.y,1.25),
   Arrow3);
draw(tgx,green,Arrow3);
draw(tgy,green,Arrow3);




Maurice
Fichiers joints
a.png
Dernière édition par maurice le Mercredi 05 Janvier 2011, 22:50, édité 2 fois.
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Mercredi 05 Janvier 2011, 22:29

La dérivée partielle par rapport à y est étrange, non ?
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar OG » Mercredi 05 Janvier 2011, 22:40

Non continue en (0,0), alors les dérivées partielles mieux vaut éviter non ?

O.G.
OG
Modérateur
 
Messages: 2279
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Mercredi 05 Janvier 2011, 22:45

Certes mais l'objectif est de montrer qu'avec plusieurs variables, l'existence des dérivées partielles n'implique pas la continuité et donc que la notion de classe C^1 est la notion essentielle.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar maurice » Mercredi 05 Janvier 2011, 22:48

oui, elle a été normalisée. Le nombre obtenu pour partialy est 435727037.747794
La norme est égale sur la figure à 1.
Comme je n'ai pas d'idée sur le résultat théorique, je ne peux rien dire de plus.
C'est peut être ce que disait OG tout à l'heure.

maurice

Edit : pas vu les 2 messages précédents

Edit2 : Il suffit de diminuer les dx et dy à $0.1 \times 10^{-15}$ par exemple pour que ca marche bien.

code définitif :

Code: Tout sélectionner
import graph3;

size(12cm,0);

currentprojection=orthographic(
camera=(6.70544201648284,-0.775280645147703,1.90994169441184),
up=(-0.00381197716192466,0.00208518736562723,0.0142295375229004),
target=(-8.88178419700125e-16,-8.88178419700125e-16,-8.88178419700125e-16),
zoom=1);
//currentprojection=orthographic(1,2,-2);
//currentlight=(1,-1,0.5);

pair a=(-2.5,-2);
pair b=(2.5,2);

//Definition de la surface

real f(pair z) {
        real r=z.x^2+z.y^2;
        if (r!=0)  return z.x*z.y/r;
                 else return 0;
                        }
surface s=surface(f,a,b,72,72,Spline);

//Intersection avec y=cy
real cy=0;
real x1(real t) {return t;}
real y1(real t) {return cy;}
real z1(real t) {pair z=(t,cy); return f(z);}

path3 inter1=graph(x1,y1,z1,a.x,b.x);

//Intersection avec x=cx
real cx=0;
real x2(real t) {return cx;}
real y2(real t) {return t;}
real z2(real t) {pair z=(cx,t); return f(z);}

path3 inter2=graph(x2,y2,z2,a.y,b.y);

//intersection des deux chemins
triple inter=intersectionpoint(inter1, inter2);

//Derivées partielles
real dx=0.1^1, dy=dx;

pair interplusdx=(inter.x+dx,inter.y);
pair interx=(inter.x,inter.y);
real partialx=(f(interplusdx)-f(interx))/dx;
path3 tgx=inter--(inter.x+1,inter.y,inter.z+partialx);

pair interplusdy=(inter.x,inter.y+dy);
pair intery=(inter.x,inter.y);
real partialy=(f(interplusdy)-f(intery))/dy;
path3 tgy=inter--(inter.x,inter.y+1,inter.z+partialy);


// Eléments graphiques
draw(s,lightyellow+opacity(0.75), meshpen=brown+thick(),nolight);
draw(inter1,blue+linewidth(0.5pt));
draw(inter2,red+linewidth(0.5pt));
dot(inter, 5bp+green);
axes3("$x$", "$y$", "$z$",
   min=(a.x,a.y,0),
   max=(b.x,b.y,1.25),
   Arrow3);
draw(tgx,green+linewidth(1pt),Arrow3);
draw(tgy,green+linewidth(1pt),Arrow3);
Dernière édition par maurice le Samedi 08 Janvier 2011, 11:12, édité 2 fois.
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar OG » Mercredi 05 Janvier 2011, 22:52

guiguiche a écrit:Certes mais l'objectif est de montrer qu'avec plusieurs variables, l'existence des dérivées partielles n'implique pas la continuité et donc que la notion de classe C^1 est la notion essentielle.

Ok j'avais oublié la pédagogie.

O.G.
OG
Modérateur
 
Messages: 2279
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Mercredi 05 Janvier 2011, 23:01

maurice a écrit:oui, elle a été normalisée. Le nombre obtenu pour partialy est 435727037.747794
La norme est égale sur la figure à 1.
Comme je n'ai pas d'idée sur le résultat théorique, je ne peux rien dire de plus.
C'est peut être ce que disait OG tout à l'heure.

La dérivée partielle vaut 0 comme celle en x qui est correcte sur le graphique, la flèche devrait être horizontale dans la direction de l'axe y. Sûrement un artefact de la non continuité.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Mercredi 05 Janvier 2011, 23:14

En tout cas, merci pour le boulot les gars, ça me fait découvrir pas mal de choses.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar GMaths » Mercredi 05 Janvier 2011, 23:46

Image

Code: Tout sélectionner
import graph3;
import contour;
size(10cm);
defaultrender.merge=false;

currentprojection=orthographic((-8,8,10),up=Z);
currentlight=White;

real f(real x, real y) {
if(x==0 && y==0) return 0;
else return x*y/(x^2+y^2);
}

triple F(pair t) {
  real theta=t.x;
  real r=t.y;
  real x=r*cos(theta);
  real y=r*sin(theta);
  real z=f(x,y);
  return (x,y,z);
}
real a=-1.8, b=-1; // P1 : x=a    P2 : x=b

triple pA=(a,b,f(a,b));
dot(pA,2bp+green);

real thmin=0, thmax=2pi, rmin=0, rmax=4;
surface s=surface(F,(thmin,rmin),(thmax,rmax),144,144,Spline);

surface p1=surface(plane(8X,4Z,(0,pA.y,-2)-4X)),
        p2=surface(plane(8Y,4Z,(pA.x,0,-2)-4Y));

draw(s,paleblue);
draw(p1,.6red,nolight);
draw(p2,.6green+opacity(.7),nolight);

real gx(pair z) {return z.x-a;}
guide3[][] para1=lift(f,contour(gx,(-4,-4),(4,4),new real[]{-1,-.5,0,.5,1,1.5,2,2.5}));
draw(para1,.7bp+green);
real gy(pair z) {return z.y-b;}
guide3[][] para2=lift(f,contour(gy,(-4,-4),(4,4),new real[]{-1,-.5,0,.5,1,1.5,2,2.5}));
draw(para2,.7bp+red);

draw(pA--pA-2*dir(para1[0][0],intersections(para1[0][0],p1)[0][0]),1bp+blue,Arrow3());
draw(pA--pA+2*dir(para2[0][0],intersections(para2[0][0],p2)[0][0]),1bp+blue,Arrow3());

limits(-5X,5X+5Y+4Z);
xaxis3(Label("$x$",1),Arrow3);
yaxis3(Label("$y$",1),Arrow3);
zaxis3(Label("$z$",1),Arrow3);
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Jeudi 06 Janvier 2011, 09:31

C'est superbe ça !
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Samedi 08 Janvier 2011, 22:16

Ma première contribution avec une dérivée directionnelle (il manque encore la trace de l'intersection avec le plan verticale dans la direction du vecteur U

b9983db2b3fb7e063a41adba7a719fe7.png

Code: Tout sélectionner
import graph3;

// les paramètres de l'image à générer
size(10cm);
currentprojection=orthographic((15,10,5),up=Z);
limits(O,3X+3Y+Z);

// Ce que l'on peut modifier
pair mini=(-2,-2) ; // coordonnées minimales dans le plan de départ
pair maxi=(2,2) ; // coordonnées maximales dans le plan de départ
pair A=(1,0.5) ; // point dans le plan de départ en lequel on calcule la dérivée directionnelle
pair U=(1/sqrt(2),1/sqrt(2)) ; // vecteur unitaire définissant la direction de la dérivée
real f(pair pM) { // la fonction à représenter
if (pM.x^2+pM.y^2 != 0) return pM.x*pM.y/(pM.x^2+pM.y^2) ;
else return 0 ;
}

// Calcul de la dérivée directionnelle en A dans la direction de U
real dt=0.00000000001 ;
real fUprimeA=(f(A+dt*U)-f(A))/dt ;

// Ce qui est prévu à représenter
surface p0=surface(plane((maxi.x-mini.x,0,0),(0,maxi.y-mini.y,0),(mini.x,mini.y,0))) ; // le plan de départ
surface s=surface(f,mini,maxi,36,36,Spline) ; // la surface représentation de la fonction f
triple pA=(A.x,A.y,0) ; // le point A dans le plan p0
triple pAA=(A.x,A.y,f(A)) ; // le point "image" de A
triple vU=(U.x,U.y,0) ; // le vecteur U dans le plan p0
triple vUU=(U.x,U.y,fUprimeA) ; // le vecteur tangent à la surface dans la direction de U

// La représentation graphique
xaxis3(Label("$x$",1),Arrow3);
yaxis3(Label("$y$",1),Arrow3);
zaxis3(Label("$z$",1),Arrow3);
draw(p0,palered+opacity(.9)); // le plan p0 "des coordonnées"
draw(s,green); // la surface représentation de f
dot("A",pA,2bp+blue) ; // le point A dans le plan pO
draw("$\vec{U}$",pA--pA+vU,red,Arrow3()) ; // le vecteur U dans le plan p0
dot(pAA,2bp+blue) ; // le point "image" de A
draw((pA.x,0,0)--pA,red+dashed) ; // la coordonnée x de A
draw((0,pA.y,0)--pA,red+dashed) ; // la coordonnée y de A
draw(pA--pAA,red+dashed) ; // on relie A et son "image"
draw(pAA--pAA+vUU,red,Arrow3()) ; // le vecteur tangent en f(A) dans la direction de U
draw(pA+vU--pAA+vUU,red+dashed) ; // on relie l'extrémité de U à l'extrémité du vecteur tangent


Edit : bizarre, je n'ai pas la même image à la compilation chez moi surtout concernant l'opacité.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar chellier » Dimanche 09 Janvier 2011, 10:16

guiguiche a écrit:Edit : bizarre, je n'ai pas la même image à la compilation chez moi surtout concernant l'opacité.

Il me semble que pour les besoins du forum, le code est compilé avec l'option -render=0, MB en dira surement plus.
Je pense que c'est pour ça que GMaths a mis les images de ses figures dans les posts précédents.

Christophe
chellier
Modérateur
 
Messages: 355
Inscription: Samedi 25 Juillet 2009, 11:25
Localisation: Le Creusot
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar MB » Dimanche 09 Janvier 2011, 11:44

chellier a écrit:
guiguiche a écrit:Edit : bizarre, je n'ai pas la même image à la compilation chez moi surtout concernant l'opacité.


Il me semble que pour les besoins du forum, le code est compilé avec l'option -render=0, MB en dira surement plus.


Non, pour l'instant cette option de compilation n'est pas utilisée (mais il possible que cette option soit activée un de ces jours).
Par contre, il faut voir que le fichier pdf est transformé en fichier png : les différences au niveau de l'opacité peuvent éventuellement provenir de là.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Lundi 10 Janvier 2011, 17:49

Voir ici quelques améliorations
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar GMaths » Lundi 10 Janvier 2011, 18:10

guiguiche a écrit:Voir ici quelques améliorations

... même conseil que dans l'autre sujet :

Le remplacement de Spline par monotonic devrait réduire le problème des deux pointes.

Et tu peux augmenter le 36,36 (chez moi 200,200 passe) jusqu'à ce que ton pc te dise : out of memory... ou jusqu'à ce que la lenteur de déplacement de la figure t'énerve.

Il faudrait que je revois les exemples de ma galerie... car on peut aller plus loin qu'avant pour la valeur du paramètre n, (depuis les améliorations de la version ??), avant d'avoir un out of memory.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Lundi 10 Janvier 2011, 18:42

J'ai planté ma machine avec 200,200 !
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar GMaths » Lundi 10 Janvier 2011, 19:00

guiguiche a écrit:J'ai planté ma machine avec 200,200 !


Un "out of memory" logiquement, quand on demande plus que ce que le pc peut... mais pas de plantage.
Avec 250, 250, monotonic, cela passe chez moi et cela donne cela, pour la partie délicate :

Image
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Lundi 10 Janvier 2011, 19:03

Disons que la machine m'a affiché un message totalement incompréhensible, que le processus asy.exe ne pouvait pas être terminé et que les autres applications ne réagissaient plus dans un temps raisonnable donc j'ai redémarré mon pc.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Tangentes et dérivées partielles

Messagepar guiguiche » Lundi 10 Janvier 2011, 19:06

J'ai mis à jour la 2ème image avec plan tangent pour 100,100 (c'est suffisant compte tenu de l'angle de vue choisi).
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8067
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Précédente

Retourner vers Asymptote

Qui est en ligne

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