exo5d.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 5

question d)

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

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

> sin(t)=series(sin(t),t=0,3);

sin(t) = (series(t+O(t^3),t,3))

> donc sin(t)=t+t^2*epsilon(t);

sin(t) = t+t^2*epsilon(t)

> avec Limit(epsilon(t),t=0)=0;

Limit(epsilon(t), t = 0) = 0

> et donc 'f'(x,y)=expand((x*(y+y^2*epsilon(y))-y*(x+x^2*epsilon(x)))/(x^2+y^2));

f(x, y) = x*y^2*epsilon(y)/(x^2+y^2)-y*x^2*epsilon(x)/(x^2+y^2)

> Or abs(xy^2/(x^2+y^2)) <= abs(x);

abs(xy^2/(x^2+y^2)) <= abs(x)

Donc par le thérorème des gendarmes

> Limit( x*y^2*epsilon(y)/(x^2+y^2),[x,y]=0)=0;

Limit(x*y^2*epsilon(y)/(x^2+y^2), [x, y] = 0) = 0

D'où f est continue en (0,0) et de facon claire en tout autre point

> plot3d(f(x,y),x=-1..1,y=-1..1,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,[-5,5],[-5,5],sect,[-Pi,Pi],-10);

[Plot]

>