Prácticas Matlab

Anuncio
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 
Descargar