Exercices : Fonctions de plusieurs variables

Exercice 1 : Gradient

1) Définir la fonction à 2 variables f(x,y)=(x^2)+(y^2)  et la répresenter comme une surface en 3D. On utilisera la commande “Plot3D”.

Définissons la fonction à deux variables :

f[x_,y_]=x^2+y^2

On peut la représenter comme une surface en 3D avec la commande “Plot3D”’ :

Plot3D[f[x,y],{x,-2,2},{y,-2,2}]

2) Calculer son gradient et représenter le champ vectoriel ainsi obtenu. On utilisera la commande “VectorPlot”. Quelle est la nature du point (0,0) ?

Son gradient est :

g[x_,y_]={D[f[x,y],x],D[f[x,y],y]}

On peut aussi utiliser la commande “Grad” :

g[x_,y_]=Grad[f[x,y],{x,y}]

C’est un champ de vecteurs en 2D qui peut être représenté par la commande “VectorPlot” :

VectorPlot[g[x,y],{x,-2,2},{y,-2,2}]

En chaque point, l’orientation du vecteur donne la direction de la plus grande pente sur la surface correspondant à f(x,y) et le module du vecteur donne la valeur absolue de cette pente.  On voit que le point (0,0) est un minimum.

3) Refaire les questions 1) et 2) avec la fonction f(x,y)=(x^2)-(y^2)  .

f[x_,y_]=x^2-y^2

Plot3D[f[x,y],{x,-2,2},{y,-2,2},AxesLabel->{"x","y"}]

g[x_,y_]=Grad[f[x,y],{x,y}]

VectorPlot[g[x,y],{x,-2,2},{y,-2,2},FrameLabel->{"x","y"}]

Le point (0,0) est cette fois un point selle.

4) On considère à présent une fonction de 3 variables  f(x,y,z)=(x^2)+(y^2)+(z^2). Calculer son gradient et le représenter. On utilisera la commande “VectorPlot3D”.

On définit la fonction de 3 variables :

f[x_,y_,z_]=x^2+y^2+z^2

et on calcule son gradient

g[x_,y_,z_]=Grad[f[x,y,z],{x,y,z}]

On le représente avec la commande “VectorPlot3D” :

VectorPlot3D[g[x,y,z],{x,-1,1},{y,-1,1},{z,-1,1}]

Remarque : pour se rappeller la définition du gradient, on peut utiliser les commandes Mathematica avec une fonction f non définie :

Clear[f]

Grad[f[x,y,z],{x,y,z}]

Exercice 2 : Divergence et rotationnel

1) Définir les fonctions vectorielles à 3D (ou champs de vecteur) : (OverVector[A])(x,y,z)=x(OverVector[ i ])+ y (OverVector[j ])+ z (OverVector[k])  et (OverVector[B])(x,y,z)=-y(OverVector[ i ])+ x (OverVector[j ])+ 0(OverVector[k]).

On définit les deux champs de vecteurs :

A[x_,y_,z_]={x,y,z}

B[x_,y_,z_]={-y,x,0}

2) Représenter ces fonctions vectorielles.

On les représente avec la commande “VectorPlot3D”

VectorPlot3D[A[x,y,z],{x,-2,2},{y,-2,2},{z,-2,2}]

VectorPlot3D[B[x,y,z],{x,-2,2},{y,-2,2},{z,-2,2}]

3) Calculer leurs divergences.

Leurs divergences sont :

D[A[x,y,z][[1]],x]+D[A[x,y,z][[2]],y]+D[A[x,y,z][[3]],z]

D[B[x,y,z][[1]],x]+D[B[x,y,z][[2]],y]+D[B[x,y,z][[3]],z]

Ou en utilisant la commande “Div” :

Div[A[x,y,z],{x,y,z}]

Div[B[x,y,z],{x,y,z}]

4) Calculer leurs rotationnels.

Leurs rotationnels sont :

{D[A[x,y,z][[3]],y]-D[A[x,y,z][[2]],z],D[A[x,y,z][[1]],z]-D[A[x,y,z][[3]],x],D[A[x,y,z][[2]],x]-D[A[x,y,z][[1]],y]}

{D[B[x,y,z][[3]],y]-D[B[x,y,z][[2]],z],D[B[x,y,z][[1]],z]-D[B[x,y,z][[3]],x],D[B[x,y,z][[2]],x]-D[B[x,y,z][[1]],y]}

Ou en utilisant la commande “Curl” :

Curl[A[x,y,z],{x,y,z}]

Curl[B[x,y,z],{x,y,z}]

Remarque : le rotationnel d’un gradient est toujours nul. Par exemple :

Curl[Grad[x^2+y^2+z^2,{x,y,z}],{x,y,z}]

Exercice 3 : Laplacien

Utiliser Mathematica pour rappeller l’expression du laplacien en coordonnées cartésiennes d’une fonction à 2 variables, puis pour déterminer le laplacien en coordonnées polaires.

Par défaut, la commande “Laplacian” donne le laplacien en coordonnées cartésiennes :

Clear[f]

Laplacian[ f[x,y],{x,y}]

Pour calculer le laplacien en coordonnées polaires, il faut ajouter l’option “Polar” :

Laplacian[ f[r,θ],{r,θ},"Polar"]//Expand

Exercice 4 : Equations différentielles aux dérivées partielles

1) Résoudre l’équation différentielle aux dérivées partielles : x ((∂ f (x,y))/(∂x))+y ((∂ f (x,y))/(∂y))=0.

On peut résoudre des équations différentielles aux dérivées partielles avec “DSolve” :

DSolve[x D[f[x,y],x]+y D[f[x,y],y]==0,f[x,y],{x,y}]

La solution est de la forme C(y/x) où C est une fonction arbitraire. On peut vérifier ceci  :

x D[C[y/x],x]+y D[C[y/x],y]

2) Résoudre l’équation différentielle aux dérivées partielles : y((∂ f (x,y))/(∂x))-x((∂ f (x,y))/(∂y))=f(x,y).

DSolve[y D[f[x,y],x]-x D[f[x,y],y]==f[x,y],f[x,y],{x,y}]

3) Déterminer la forme générale de la solution de l’équation d’onde : (c^2)(((∂^2)u (x,t))/(∂(x^2)))=(((∂^2)u (x,t))/(∂(t^2))).

La solution générale de l’équation d’onde est :

Simplify[DSolve[(c^2) D[u[x,t],{x,2}]== D[u[x,t],{t,2}],u[x,t],{x,t}],c>0]

c’est-à-dire u(x,t)=(Subscript[C, 1])(t-x/c)+(Subscript[C, 2])(t+x/c) où (Subscript[C, 1]) et (Subscript[C, 2]) sont deux fonctions arbitraires.

Exercice 5 : fonction homogène

Soit une fonction f à deux variables homogène de degré α, c’est-à-dire f(λ x, λ y)=(λ^α)f(x,y) .
Montrer que :  x ((∂ f (x,y))/(∂x))+y ((∂ f (x,y))/(∂y))=α f(x,y).

Dérivons l’équation donnée par rapport à λ  et remplaçons λ par 1 :

D[f[λ x,λ y]==(λ^α)f[x,y],λ]/.{λ->1}

Il s’agit bien de la relation qu’il fallait démontrer.