exo7.mw

> restart;with(plots):with(plottools):with(linalg);

Warning, the name changecoords has been redefined

Warning, the assigned name arrow now has a global binding

Warning, the protected names norm and trace have been redefined and unprotected

[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...

>

>

Exercice 7

> f:=(x,y)->piecewise(x=0 and y=0,0,(x*y)/(x^2+y^2));

f := proc (x, y) options operator, arrow; piecewise(x = 0 and y = 0, 0, x*y/(x^2+y^2)) end proc

> plot3d(f(x,y),x=-0.5..0.5,y=-5..5,axes=normal);

[Plot]

Voici le profil de la section obtenu par une droite passant par l'origine et tournant au cours du temps

> profil_x:=theta->cos(theta)*t;profil_y:=theta->sin(theta)*t;t:='t':

profil_x := proc (theta) options operator, arrow; cos(theta)*t end proc

profil_y := proc (theta) options operator, arrow; sin(theta)*t end proc

> sect:=theta->cos(theta)*x+y*sin(theta);

sect := proc (theta) options operator, arrow; cos(theta)*x+y*sin(theta) end proc

> profil_courbe(f,profil_x,profil_y,[-5,5],[-Pi,Pi],0);

[Plot]

>

Le même profil vu sur un plan fixe (courbe du paramétrage)

> F:=proc(theta)  plot(f(profil_x(theta),profil_y(theta)),t=-5..5 ); end:

> animate(F,[theta],theta=-Pi..Pi, axes=normal,frames=41);

[Plot]

Voici les courpes obtenues par les sections correspondantes à ces droites tournantes

> profil_section(f,[-0.5,0.5],[-5,5],sect,[-Pi,Pi],-10);

[Plot]

Ainsi f n'est pas continue en (0,0) comme nous le montre le profil se lon y=x qui ne passe pas par la valeur f(0,0)=0

> coupe(f,[-0.5,0.5],[-5,5],[t,t],[-0.7,0.7],x-y,-1,100);

[Plot]

Cependant par calcul des taux d'acroissements de t->(f(0+th)-f(0))/t

>

> 'f'(t*h1,t*h2)=simplify(f(t*h1,t*h2));

f(t*h1, t*h2) = h1*h2/(h1^2+h2^2)

> Limit('f'(t*h1,t*h2)/t,t=0)=limit(f(t*h1,t*h2)/t,t=0);

Limit(f(t*h1, t*h2)/t, t = 0) = limit(t*h1*h2/(t^2*h1^2+t^2*h2^2), t = 0)

La dérivée dans la direction (h1,h2) n'existe que si h_1=0 ou h2=0, i.e. dans la direction i ou j

>