Practica 4-Operadores Vectoriales
Practica 4-Operadores Vectoriales
Practica 4-Operadores Vectoriales
OPERADORES VECTORIALES
1. OBJETIVOS:
Conocer y comprender el funcionamiento de los operadores vectoriales gradiente, divergencia,
rotacional y laplaciano
Establecer y contrastar mediante gráficos representativos los conceptos del gradiente, la divergencia,
el rotacional y el laplaciano
2. MARCO TEÓRICO:
2.1 Matriz jacobiana
2.2 Gradiente de un campo escalar
2.3 Divergencia y rotacional de un campo vectorial
2.4 Laplaciano de un campo escalar
3. MATERIALES Y EQUIPOS
Computadoras con acceso a Internet
Software Matlab
4. DESARROLLO.
4.1 Gradiente de un campo escalar
Como el vector gradiente es un caso particular de la matriz jacobiana, puede utilizarse la instrucción:
jacobian(f, v)
que calcula la matriz jacobiana de f respecto de v para determinar el vector gradiente.
a) Ejercicio 1: calcular el gradiente del siguiente campo escalar:
f ( x , y )=sen ( x +2 y)
Solución:
Procedimiento en Matlab:
[ f x , f y , f z ]=gradient (f )
c) Ejercicio 2: Calcule el vector gradiente para el campo escalar y comprobar mediante una gráfica,
que el gradiente es perpendicular a las líneas de contorno
Solución
Procedimiento en Matlab:
2
Por definición, la divergencia es una derivada direccional por lo que podría utilizarse adecuadamente
la instrucción
diff(f, x)
que calcula la derivada de la función f respecto de x. A continuación hay que sumar la derivada
respecto de y y también la derivada respecto de z, si es que fuera necesario.
3
‒ En el siguiente recuadro, muestre el procedimiento y el resultado y emita una breve
explicación de los comandos utilizados en el contexto de la solución:
Otra forma posible de calcular el valor simbólico de la divergencia de un campo vectorial F , es hallar
primero la matriz jacobiana de F y luego sumar los elementos de la diagonal, es decir, obtener la traza
de la matriz jacobiana.
F (x , y , z )=( y 2 + z 2) i+ ( z 2 + x 2 ) j + ( x 2 + y2 ) k )
Solución
Una primera forma es hallar la matriz jacobiana y después sumar los elementos de la diagonal,
cuyo procedimiento se muestra a continuación:
4
o Como la divergencia es nula, el campo se dice que es solenoidal.
Una segunda forma es obtener la traza de la matriz jacobiana, como se muestra a continuación:
5
4.3 Rotacional de un campo vectorial
Como se indicó anteriormente, la derivada escalar de un campo vectorial da lugar a la divergencia y la
derivada vectorial da lugar al rotacional. En tal sentido, el rotacional de un campo vectorial es también
una cantidad vectorial.
i) Ejercicio 6: calcular el rotacional para el siguiente campo vectorial:
F=x 2 yz i+ x y 2 z j+ xy z2 k
Solución:
Procedimiento en Matlab:
6
Primer Método
‒ syms x y z %Este comando lo usamos para definir las
variables simbólicas que usaremos, para que MATLAB
las tome como tales y no requiera que le definamos
un valor especifico.
‒ u=x^2*y*z;
‒ v=x*y^2*z;
‒ w=x*y*z^2; %En estos 3 comandos definimos, en las
variables u,v y w, los valores de los componentes
del campo vectorial al cual le queremos aplicar el
rotacional.
‒ r1=diff(w,y)-diff(v,z) %En esta línea usamos el
comando “diff” para aplicar la derivada parcial al
primer componente de lo que encontramos en el
paréntesis sobre el segundo componente, en el
comando seria, derivada parcial de “w” en función
de “y”, menos derivada parcial de “v” en función de
“z”, lo cual asignamos a la variable “r1”.
‒ r2=diff(u,z)-diff(w,x) %Derivada parcial de “u” en
función de “z” menos derivada parcial de “w” en
función de “z”, asignado a la variable “r2”.
‒ r3=diff(v,x)-diff(u,y) %Derivada parcial de “v” en
función de “x” menos derivada parcial de “u” en
función de “y”, asignado a la variable “r3”.
‒ rot=[r1,r2,r3] %Los valores obtenidos los asignamos
a la variable “rot”, la cual será el la que
contenga al vector 1x3 que contiene los 3
componentes del rotacional del campo vectorial
analizado.
‒ pretty(rot) %Finalmente usamos este comando para
ver el resultado de una forma visualmente más fácil
de entender del vector “rot”.
Segundo Método (otros comandos usados)
‒ syms x y z %Definimos las variables simbólicas a
usar.
‒ F=[x^2*y*z;x*y^2*z;x*y*z^2]; %Definimos un verctor
1x3 con los componentes del campo vectorial en 3
dimensiones.
‒ J=jacobian(F,[x,y,z]); %Como podemos ver en el
nombre del comando, con “jacobian” aplicamos el
jacobiano a la variable “F” con respecto de
“x,y,z”.
‒ rot=[J(3,2)-J(2,3),J(1,3)-J(3,1),J(2,1)-J(1,2)]
%En esta línea ejecutamos la función que definimos
para la variable “J”, pero aplicado a cada
componente del campo vectorial con respecto a la
variable simbólica que corresponda en su análisis.
‒ pretty(rot) %Con este comando Podemos visualizar
el resultado tras aplicar el jacobiano, al campo
vectorial, de una manera mas simple a la vista.
7
j) Tarea 4: calcular el rotacional del siguiente campo vectorial:
G=x cos y i+ x y m j
Utilizar ambos métodos.
Nota: El valor de m es un entero entre 2 y 5 y debe ser elegido por el alumno
‒ En el siguiente recuadro, muestre el procedimiento y el resultado y emita una breve
explicación de los comandos utilizados en el contexto de la solución:
Tomando m = 3
Primer Método
>> syms x y z %Definimos las variables simbólicas a usar.
>> u=x*cos(y); %Asignamos el valor del componente “i” a la
variable “u”.
>> v=x*y^3; %Asignamos el valor del componente “j” a la
variable “v”.
>> w=0; %Asignamos el valor del componente “k”, que, aunque
tiene su componente con valor 0 la consideramos ya que
necesitamos vectores en las 3 dimensiones, a la variable “w”.
>> r1=diff(w,y)-diff(v,z) %Asignamos la diferencia de las
derivadas parciales, lo cual es la rotación del primer
componente del campo vectorial.
r1 =
0
>> r2=diff(u,z)-diff(w,x) %Asignamos la diferencia de las
derivadas parciales, lo cual es la rotación del segundo
componente del campo vectorial.
r2 =
0
>> r3=diff(v,x)-diff(u,y) %Asignamos la diferencia de las
derivadas parciales, lo cual es la rotación del tercer
componente del campo vectorial.
r3 =
x*sin(y) + y^3
>> rot=[r1,r2,r3] %Asignamos el valor de las variables
“r1,r2,r3” al vector “rot”.
rot =
[ 0, 0, x*sin(y) + y^3]
>> pretty(rot) %Aplicamos el comando “pretty” para que
visualmente sea más fácil de entender.
( 3)
0, 0, x sin(y) + y
Segundo Método
>> syms x y z %Definimos las variables simbólicas a usar.
>> G=[x*cos(y),x*y^3,0]; %Asignamos el campo vectorial a una
variable para no escribir el vector en cada momento.
>> J=jacobian(G,[x,y,z]); %Aplicamos en Jacobiano a la
8
variable que contiene al campo vectorial en función de
“x,y,z”.
>> rot=[J(3,2)-J(2,3), J(1,3)-J(3,1), J(2,1)-J(1,2)]
%Asignamos las operaciones del jacobiano a la variable “rot”,
donde obtendremos la rotacional del campo vectorial.
rot =
[ 0, 0, x*sin(y) + y^3]
>> pretty(rot) %Finalmente usamos el comando “pretty” par
tener el resultado de una manera más visual.
( 3)
0, 0, x sin(y) + y
Al igual que para los casos del gradiente y la divergencia, Matlab dispone de un comando que
proporciona el valor numérico del rotacional:
curl ( x , y , z , u , v , w)
que calcula el rotacional del campo de componentes (u , v , w) en los puntos ( x , y , z)
>> syms x y z
>> G=[x*cos(y),x*y^3,0];
>> X=[x y z];
>> curl(G,X)
ans =
0
0
x*sin(y) + y^3
k) Ejercicio 7: construya una función llamada operadores.m para calcular la divergencia y el
rotacional de un campo de vectores en R3.
Solución:
Procedimiento en Matlab:
9
‒ En el siguiente recuadro, explique los comandos utilizados en el contexto de la solución:
‒ function [div,rot]=operadores(F) %Definimos las
salidas y las entradas de nuestra función.
‒ syms x y z %Definimos las variables simbólicas a
usarse.
‒ u=F(1); v=F(2); w=F(3); %asignamos cada uno de los
componentes a sus respectivas variables, esto para
hacerlo manejable.
‒ div=simplify(diff(u,x)+diff(v,y)+diff(w,z)); %A la
variable div, la cual es nuestra primera salida,
hacemos que ejecute la divergencia entre los
componentes del campo vectorial, luego de realizado
esto ejecutamos el comando “simplify” para reducir
el resultado obtenido.
‒ r1=diff(w,y)-diff(v,z); %A la variable “r1” le
asignamos el primer componente de la rotacional del
campo vectorial, el comando “diff” es para sacar la
derivada parcial del primer componente del
paréntesis en función del segundo.
‒ r2=diff(u,z)-diff(w,x); %A la variable “r2” le
asignamos el segundo componente de la rotacional
del campo vectorial, el comando “diff” es para
sacar la derivada parcial del primer componente del
paréntesis en función del segundo.
‒ r3=diff(v,x)-diff(u,y); %A la variable “r3” le
asignamos el tercer componente de la rotacional del
campo vectorial, el comando “diff” es para sacar la
derivada parcial del primer componente del
paréntesis en función del segundo.
‒ rot=[r1,r2,r3]; %A la variable “rot” le asignamos
los 3 componentes del rotacional del campo
vectorial, obteniendo el vector rotacional.
l) Tarea 4: Utilizar la función operadores.m para calcular la divergencia y el rotacional de los
siguientes campos vectoriales:
x y
i. F (x , y )= 2 2
i+ j
√x +y √ x + y2
2
>> syms x y z
>> F=[x/(sqrt(x^2+y^2)),y/(sqrt(x^2+y^2)),0]
F=
>> [div,rot]=operadores(F)
div =
1/(x^2 + y^2)^(1/2)
rot =
10
[ 0, 0, 0]
F=
>> [div,rot]=operadores(F)
div =
4*x + 2*z
rot =
[ 0, 6*x, -4*y]
2 ∂2 f ∂2 f ∂2 f
∇ f= (x , y , z)+ ( x , y , z)+ (x , y , z)
∂ x2 ∂ y2 ∂ z2
En particular, la ecuación:
∇ 2 f =0
Se llama ecuación de Laplace y toda función que la satisfaga en una región D se dice que es armónica
en D.
m) Ejercicio 7: Demostrar que:
f ( x , y )=e x cos y
Es una función armónica en el plano XOY:
Solución:
Procedimiento en Matlab:
11
Como el laplaciano es nulo, entonces f es una función armónica
‒ En el siguiente recuadro, muestre el procedimiento y el resultado y emita una breve
explicación de los comandos utilizados en el contexto de la solución. Además, elabore su
representación gráfica.
f=
>> lapl=diff(f,x,2)+diff(f,y,2)+diff(f,z,2)
lapl =
>> simplify(lapl)
ans =
0
Con este resultado podemos afirmar que la función si es armonica.
12
5. CONCLUSIONES.
El uso de los comandos “jacobian” y “diff” facilitan el manejo de los elementos de los
campos vectoriales para el análisis de sus rotacionales.
El uso del laplaciano de una función facilita el proceso de analizar una función par ver sui
esta es analítica.
El uso del comando “pretty” facilita la visualización de las funciones, ya que la podemos
visualizar más fácilmente.
MATLAB tiene palabras reservadas para el análisis más rápido de funciones, como por
ejemplo hallar el rotacional de una función, usando el comando “curl”.
6. BIBLIOGRAFÍA.
13