exo8.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 8

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

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

> plot3d(f(x,y),x=-3..3,y=-3..3,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,-10..10 ); 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^2 qui ne passe pas par la valeur f(0,0)=0

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

[Plot]

> 'f'(x,x^2)=f(x,x^2);

f(x, x^2) = 1

> Limit('f'(x,x^2), x=0)=limit(f(x,x^2),x=0);

Limit(f(x, x^2), x = 0) = 1

Or f(0,0)=0, donc f n'est pas continue en (0,0)

>

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

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

> 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) = h1^2/h2

Donc  f admet des dérivées dans toutes les directions (h1,h2) avec h2<>0

> 'f'(t*h1,0)=1;

f(t*h1, 0) = 1

> Donc  f admet aussi des dérivées dans toutes les directions (h1,0)