exo2b.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 1

question b)

> f:=(x,y)->(1-cos(sqrt(x^2+y^2)))/(x^2+y^2);

f := proc (x, y) options operator, arrow; (1-cos(sqrt(x^2+y^2)))/(x^2+y^2) end proc

Par composition avec

> rho:=(x,y)->sqrt(x^2+y^2);

rho := proc (x, y) options operator, arrow; sqrt(x^2+y^2) end proc

On a

> f=g@ rho;

f = `@`(g, rho)

avec

> g:=r->(1-cos(r))/(r^2);

g := proc (r) options operator, arrow; (1-cos(r))/r^2 end proc

>

> Limit('g'(r), x=0)=limit(g(r),r=0);

Limit(g(r), x = 0) = 1/2

> Limit('rho'(x,y), r=0)=0;

Limit(rho(x, y), r = 0) = 0

D'où par composition des limites

> Limit('f'(x,y), x=0)=1/2;

Limit(f(x, y), x = 0) = 1/2

>

Représentation

> plot3d(f(x,y),x=-2..2,y=-2..2,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]