PRÁCTICA CAMPOS VECTORIALES CURSO 2015-2016 CÁLCULO II Prácticas Matlab Práctica 4 (1/03/2016) Objetivos o Dibujar muestras de campos vectoriales en el plano y en el espacio. o Calcular longitudes de curvas. Comandos de Matlab 1.‐ Para representar vectores en 2 y en 3 quiver(x,y,u,v) Representa, mediante flechas, una muestra del campo vectorial de componentes (u,v), en los puntos (x,y). Ejemplo: >> [x,y]=meshgrid(-1:.2:1); >> quiver(x,y,-y,x); quiver3(x,y,z,u,v,w) Representa, mediante flechas, una muestra del campo vectorial de componentes (u,v,w), en los puntos (x,y,z). Ejemplo: >> [X,Y] = meshgrid(-2:0.25:2,-2:0.25:2); >> U=-ones(size(X))/3; >> V=-ones(size(X))/3; >> W= ones(size(X)); >> quiver3(X,Y,(X-Y)/3,U,V,W); >> hold on; >> surf(X,Y,(X-Y)/3); 2.‐ Para calcular, numéricamente, el gradiente de un campo escalar [fx,fy,fz]=gradient(f) Calcula el gradiente de un campo escalar f. Ejemplo: >> v=-2:0.2:2; >> [x,y]=meshgrid(v); >> f=x.*exp(-x.^2-y.^2); >> [fx,fy]=gradient(f); PÁGINA 2 MATLAB: CAMPOS VECTORIALES Ejercicios Representación de campos vectoriales en el plano. 1 Dibuja los campos que se indican en los puntos de la forma ( a, b) , tomando para a y b los valores 2, 1,0,1, 2 . b) F ( x, y ) xi y j a) F ( x, y ) xi yj 2 Indicaciones Este es el ejercicio propuesto nº1 del tema 2. Código Matlab para el campo a): %Malla de puntos donde dibujar %el campo vectorial [x,y]=meshgrid(-2:2) %Campo vectorial sobre los %puntos de la malla quiver(x,y,x,-y) hold on %Dibujamos los puntos donde %se aplican los vectores plot(x,y,'ob') hold off Código Matlab para el campo b): figure(2) quiver(x,y,x,y.^2) hold on %Dibujamos los puntos donde %se aplican los vectores plot(x,y,'ob') hold off axis square Representación de campos vectoriales en el plano. 2 Dibuja una muestra de los siguientes campos vectoriales en las regiones que se indican: a) F ( x, y ) yi xj en el cuadrado b) F ( x, y ) yi zj xk proyecta en el cuadrado D 1,1 x 1,1 en el plano x y z 0 que se D 2, 2 x 2, 2 MATLAB: PRÁCTICA 4 PÁGINA 3 Indicaciones a) Código Matlab %muestra de un campo vectorial plano [x,y]=meshgrid(-1:.2:1); quiver(x,y,-y,x) axis square; title('Campo circular en R^2'); b) Código Matlab %Dibujo del plano z=-x-y % [x,y]=meshgrid(-2:2:2); % z=-x-y; % figure(1) % surf(x,y,z,'FaceAlpha',0.4); % hold on; % %Dibujo del campo vectorial % %en una malla más fina figure(2) [x,y]=meshgrid(-2:.5:2); z=-x-y; quiver3(x,y,z,y,z,x,1.2) hold on plot3(x,y,z,'ob') title('Campo circular sobre un plano inclinado'); hold off Obtener una representación gráfica del (a) Campo vectorial F ( x, y ) x 2 i 2 xyj en el cuadrado D 0, 2 x 0, 2 3 (b) Campo vectorial F f en el rectángulo D 2, 2 x 2, 2 siendo f x, y xe x2 y2 función f x, y xe x2 y2 . Dibujar las curvas de nivel de la y observar que el campo F es ortogonal a dichas curvas. Indicaciones Código Matlab a) %muestra de un campo vectorial plano [x,y]=meshgrid(0:.2:2); quiver(x,y,x.^2,2*.x*.) axis square Código Matlab b) %Representación de la superficie en la figura 1 [x,y]=meshgrid(-2:.2:2); z=x.*exp(-x.^2-y.^2); figure(1) PÁGINA 4 MATLAB: CAMPOS VECTORIALES surf(x,y,z) %muestra del campo gradiente de f(x,y) %junto con las curvas de nivel figure(2) [u,v]=gradient(z); contour(x,y,z) hold on quiver(x,y,u,v) axis square; hold off Dado el arco de curvas descrito por las ecuaciones paramétricas x t 2 cos t y t 2sen t se pide: (a) Representar gráficamente el arco de curva cuando t 0, 2 4 (b) Calcular la longitud del arco de curva teniendo en cuenta que la longitud de arco que une los puntos A x to , y to y B x t1 , y t1 se puede calcular mediante la integral siguiente: t1 L x ' t y ' t 2 2 dt to Indicaciones a) Código Matlab %Representación de la curva t=linspace(0,2*pi,50); x=2*cos(t); y=2*sin(t); plot(x,y) axis square b) Código Matlab %Calculo de la integral syms t xt=2*cos(t); yt=2*sin(t); dxt=diff(xt);dyt=diff(yt); integrando=(dxt^2+dyt^2)^(1/2); longitud=int(integrando,t,0,2*pi) Dado el arco de curvas descrito por las ecuaciones paramétricas 5 x t 2t sen 2 t 2 y t t 1 cos 2 t MATLAB: PRÁCTICA 4 PÁGINA 5 que une los puntos (0,0) y (2,1) del plano XY. Se pide: (a) Representar gráficamente el arco de curva (b) Calcular la longitud del arco de curva teniendo en cuenta que la longitud de arco que une los puntos A x to , y to y B x t1 , y t1 se puede calcular mediante la integral siguiente: t1 L x ' t y ' t 2 2 dt to Indicaciones a) Código Matlab %Representación de la curva t=linspace(0,1,50); x=2*t+sin(2*pi*t); y=t.^2+1-cos(2*pi*t); plot(x,y) b) Código Matlab %Calculo de la integral syms t xt=2*t+sin(2*pi*t); yt=t^2+1-cos(2*pi*t); dxt=diff(xt);dyt=diff(yt); integrando=(dxt^2+dyt^2)^(1/2); longitud=int(integrando,t,0,1) double(longitud) Resumen de comandos Se recogen aquí los comandos utilizados en esta práctica que se darán por conocidos en las prácticas siguientes y que conviene retener porque se podrán preguntar en las distintas pruebas de evaluación. También se supondrán conocidos los comandos que fueron utilizados en prácticas anteriores y en las prácticas de Cálculo I. Para representar campos vectoriales Para calcular el gradiente de un campo escalar Para calcular las curvas de nivel de un campo escalar quiver, quiver3 gradient contour