Está en la página 1de 15

UNIVERSIDAD TECNOLÓGICA DE

PANAMÁ
Centro regional de Chiriquí
Facultad de Ingeniería eléctrica
Ingeniería Electromecánica 2IE-131

Laboratorio N°1:
Sistemas de coordenadas (Octave / Matlab)

Curso:
Teoría Electromagnética II

Estudiante:
Angélica Valeska Calderón: 20-23-4180

Profesor:
Edwin De Roux F.

Fecha de entrega:
07 de abril de 2020
I Semestre
Introducción:

En la resolución de problemas que involucren conceptos vectoriales, como


fuerza, campo vectorial, entre otros, es necesario hacer uso de sistemas de
coordenadas que nos permitan representar dichos vectores.
En general, el sistema de coordenadas cartesianas es el que más se prefiere para
la resolución de problemas, sin embargo, utilizar este sistema puede resultar, con
frecuencia, en un mayor trabajo ya que muchos problemas requieren un tipo de
simetría que requiere un tratamiento más lógico, por lo tanto, enfocándonos en
un trabajo matemático más eficiente, es necesario que se hagan uso de otro tipo
de sistemas de coordenadas, como las cilíndricas y esféricas.
Igualmente, es necesario familiarizarse con ciertos softwares de simulación, que
nos permitan representar los problemas matemáticos de forma física,
presentado en planos tridimensionales; MATLAB es un software que funciona
para analizar y diseñar sistemas, este programa posee graficas integradas que
permiten la visualización de datos y la recolección de información a través de
ellos, mediante un lenguaje de programación propio, que resulta bastante
sencillo de entender y utilizar, sin embargo su licencia no es libre; existe otra
alternativa compatible con MATLAB, llamado Octave, este también permite
graficar superficies y volúmenes en 3D, en las distintas coordenadas, en este
laboratorio utilizaremos MATLAB, sin embargo, los problemas presentado
pueden realizarse sin problema en Octave, dando el mismo resultado.
Resultados:

Se realizaron los siguientes problemas haciendo uso del software MATLAB:

1. Grafique usando “mesh”, “surf”,”contour” y ”contour3” 𝑧3 = 𝑥2𝑥𝑦


2 +𝑦 2 . Para

𝑥 = 0.25: 0.25: 5 , 𝑦 = 0.25: 0.25: 5 .

Código utilizando “mesh” y “surf”:

Fig.1: Grafico del problema 1 utilizando “mesh” y “surf”.

Comentarios sobre el código utilizando “mesh” y “surf”:


En la línea 1 del código, se define el dominio del vector “x”, esto se puede
hacer directamente al momento de definir la malla o matriz (línea 3); en la
línea 2 se le asigna el mismo dominio de “x” a “y”, y posteriormente se crea
la malla con estos dominios ya establecidos (Línea 3).
En las líneas 5 y 8 se utiliza el comando “subplot”, que sirve para dividir la
pantalla gráfica, y asignamos la posición en la cuál se va a mostrar el
gráfico respectivo, mediante el último número dentro del paréntesis, esto
permite ahorrarse líneas de programación, por lo que podemos mostrar
dos formas de graficación con un mismo código, en lugar de hacer dos
programas para cada una.
Finalmente, para nombrar los ejes coordenados, utilizamos el comando
“label”, precediendo a la variable del eje que deseamos renombrar (línea
10).
La diferencia entre “mesh” y “surf” radica en la forma visual en la que se
presenta el gráfico, como podemos notar en la figura derecha (graficada
mediante comando mesh), se encuentran las líneas más pálidas que la
figura de la izquierda (“graficada mediante comando surf”).

Código utilizando “contour” y “contour3”:

Fig.2: Grafico del problema 1 utilizando “contour” y “contour3”:


Comentarios sobre el código utilizando “contour” y “contour3”:
El código utilizado es casi igual que el anterior (Código utilizando “mesh” y
“surf”), con la diferencia, que los gráficos presentados en este, son las
curvas de nivel y las curvas de nivel en el espacio, gracias al comando
“subplot” se dividió la pantalla gráfica para poder representar ambos tipos
de curvas de nivel, como podemos notar en la figura derecha (graficada
mediante comando contour), se encuentran las líneas de nivel en el plano
“x,y”, esto se debe a que las líneas de nivel se toman desde la vista de
elevación, mientras que en la figura de la izquierda (“graficada mediante
comando contour3”) podemos visualizar las curvas de nivel a través del
espacio tridimensional.

2. Haga el gráfico mostrado en la


figura, el cuál tiene un radio=5,
muestre el código.

Figura 3: Problema N°2


Código utilizado para el problema N°2:

Fig.4: Grafico del problema N°2:

Comentarios sobre el código del problema N°2:


En las líneas 1 y 2 del código, se definen los dominios de los vectores phi y
zeta, respectivamente, y posteriormente se crea la malla con estos
dominios ya establecidos (Línea 3), cabe mencionar que en Matlab el valor
de  se asigna mediante “pi”.
El dominio normal del vector zeta en coordenadas esféricas va
normalmente 0 ≤ 𝜃 ≤ 𝜋 , sin embargo, en este problema se tiene una
𝜋
semi esfera, por lo que el dominio de zeta será: 0 ≤ 𝜃 ≤ 2 . De la misma
manera, el vector phi tiene un dominio normalmente 0 ≤ 𝜑 ≤ 2𝜋 , sin
𝜋
embargo, como podemos ver en la figura 3 del problema,  inicia desde 4
−𝜋
y finaliza en , por lo que para definir el valor final al que llegará phi, es
4
necesario realizar la siguiente operación matemática:

𝜋 7𝜋
2𝜋 − 4 = 4
Esto nos dará el valor positivo final al cuál debe llegar .
Después de crear la malla o matriz (línea 3), realizamos las operaciones
pertinentes para transformar de coordenadas esféricas a cartesianas y
graficamos mediante el comando “mesh”.

3. Grafique un Toroide. Muestre el código.


𝑥 = cos(𝑡) ∙ (4 − cos(𝑣))
{ 𝑦 = sin(𝑡) ∙ (4 − cos(𝑣)) 𝑡 ∈ [0,2𝜋]; 𝑣 ∈ [0,2𝜋]
𝑧 = sin(𝑣)

Fig.5: Problema 3

Código utilizado para el problema N°3:

Fig.6: Grafico del problema N°3:


Comentarios sobre el código del problema N°3:
En la línea 1 del código, se crea la malla con los dominios de “t” y “v”, en
este caso, como los dominios son los mismos para ambos, no es necesario
escribirlos dos veces dentro del comando “meshgrid”, ya que, con solo
escribirlo una vez, el programa asume que ese será el dominio de los dos.
De la línea 2 a la línea 4 se realizan las operaciones pertinentes para definir
las funciones que generan un toroide, y en la línea 5 se grafican las tres
funciones, en un formato mucho más saturado y colorido, mediante el
comando “surf”.

4. Dibuje, en un gráfico 3D, el plano z=4. Limite el plano, en x y y, con valores


al azar

Código utilizado para el problema N°4:

Fig.7: Grafico del problema N°3:


Comentarios sobre el código del problema N°4:
En la línea 1 del código, se crea la malla con los dominios de “x” y “y”, que
serán nuestras matrices, asignándoles dominios aleatorios.
En la línea 2 se escribe la función del plano, al ser una función constante y
“surf” un comando que imprime funciones como matrices, aparecía un
error al igualar la función del plano a una constante, de la forma z=4:

Por este motivo fue necesario generar una función que operara con
matrices (matriz x y matriz y, creadas en la línea 1), así que para mantener
la igualdad, se le sumaron ambas matrices multiplicadas por cero, a la
constante “4”, existen distintas maneras de lograr esta ecuación, otra de
ellas podría ser sumando y restando ambas matrices en la ecuación y luego
sumando el “4”.
Finalmente, en la línea 3 graficamos el plano, como podemos observar en
la figura 7, el plano sale de color azul, ya que los colores predeterminados
de Matlab se usan de acuerdo al nivel, donde el más bajo de la función es
de color azul, al ser el color uniforme podemos notar de forma gráfica que
es un plano en z=4.
5. Grafique los volúmenes de los problemas 1.23 y 1.27 del capitulo 1 del libro
de Hayt de la plataforma “Theams”. Utilice la función 'for' para crear un
bucle de manera que se grafiquen varias superficies variando la tercera
variable convenientemente seleccionada.
Problema N°1.23:
Una superficie cerrada está definida por las superficies: =3 , =5, =100°,
=130°, z= 3 y z=4.5.

Código utilizado para el problema N°5, ejercicio 1.23, capítulo 1 de Hayt:

Fig.8: Grafico del problema N°5, ejercicio 1.23, capítulo 1 de Hayt:

Comentarios sobre el código del problema N°5 ejercicio 1.23, capítulo 1


de Hayt:
Inicialmente, se realiza la conversión de los grados a radianes para poder
definir el dominio de la matriz “phi”
En la línea 1, se crea la malla con los dominios respectivos para “phi” y “z”.
En la línea 2, iniciamos el ciclo repetitivo “for”, seleccionando
convenientemente “rho”, como la variable que va cambiará sus valores
desde 3 hasta 5, con un paso de 0.01, el paso que utilizamos es muy
importante, ya que este es el que se encargará de decir la cantidad de
veces que se repetirá el ciclo, entre más grande sea este valor, menos
veces se repetirá lo que está dentro del ciclo for.
Se escogió la variable “rho”, ya que esta es la que relaciona las
coordenadas “x” y “y”, lo que provoca que los valores que tomen estas
funciones van a variar, a diferencia de “z”, que al transformarla a
coordenadas rectangulares, toma el mismo valor que tenía en
coordenadas cilíndricas.
Dentro del ciclo “for” definiremos las funciones que transformaran los
valores de coordenadas cilíndricas a rectangulares, se insertan en el ciclo,
ya que necesitamos que estas funciones varíen en función de rho, como lo
que se desea graficar es un volumen, estas funciones variantes en función
de rho, deben ser graficadas tantas veces cambie el valor de rho, por lo
tanto dentro del ciclo también se debe usar el comando “mesh”, antes de
finalizar el ciclo, usamos el comando “hold on”, para generar una pausa
entre cada ciclo.

Problema N°1.27:
Una superficie cerrada está definida por las superficies: r=2 , r=4, =20°,
=60°, = 30° y =50°.

Código utilizado para el problema N°5, ejercicio 1.27, capítulo 1 de Hayt:


Fig.9: Grafico del problema N°5, ejercicio 1.23, capítulo 1 de Hayt:

Comentarios sobre el código del problema N°5 ejercicio 1.23, capítulo 1


de Hayt:
Inicialmente, se realiza la conversión de los grados a radianes para poder
definir el dominio de la matriz “phi” y el dominio de la matriz “zeta”.
En la línea 1, se crea la malla con los dominios respectivos para “phi” y
“zeta”.
En la línea 2, iniciamos el ciclo repetitivo “for”, seleccionando
convenientemente “r”, como la variable que va cambiará sus valores desde
2 hasta 4, con un paso de 0.01, al igual que en el problema 1.23, el paso es
el que se encargará de decir la cantidad de veces que se repetirá el ciclo.
Se escogió la variable “r”, ya que esta es la que relaciona las coordenadas
“x”, “y” y “z”, lo que provoca que los valores que tomen estas funciones
varíen.
Dentro del ciclo “for” definiremos las funciones que transformaran los
valores de coordenadas esféricas a rectangulares, ya que necesitamos que
estas funciones varíen en función de “r” para generar el volumen, además
al igual que en el problema 1.23, es necesario que utilicemos el comando
“mesh” dentro del ciclo repetitivo, para graficar las funciones tantas veces
como cambie “r”.
Conclusiones:

1. En el primer ejercicio se pudieron diferenciar cuatro tipos distintos de


comandos, que se dividían en dos grupos, gráficas de mayas y gráficas
de líneas de nivel.
Refiriéndonos al primer grupo: las gráficas de mayas, utilizaremos el
comando “mesh” o el comando “surf”, dependiendo de lo que
deseemos graficar, o dependiendo de como deseemos que se observe
el gráfico, con el comando “mesh” podemos visualizar una malla que
dibuja el contorno de la cuadricula que representa la función o
funciones graficadas, este comando funciona mucho mejor para los
gráficos de volúmenes, ya que tenemos muchas repeticiones del ciclo
y por lo tanto, si se utiliza el comando “surf”, el cuál se encarga de
rellenar con color toda la malla y no únicamente sus contornos, el
sólido se verá demasiado saturado, y será mucho más difícil observar
gráficamente sus fronteras.
Con respecto al segundo grupo de comandos; las gráficas de líneas de
nivel, se encargan de mostrarnos los contornos de las figuras, al ser
gráficas de nivel tomadas desde la elevación horizontal (eje z), son en
dos dimensiones, lo cuál podemos visualizar mediante el uso del
comando “contour”, sin embargo esas líneas de nivel se forman
dependiendo de el contorno de una figura o superficie tridimensional,
por lo que se encuentran en el espacio, y si queremos ver la posición
exacta de cada una de estas líneas, entonces utilizamos el comando
“contour3”.
2. En los primeros tres problemas, se logró cumplir con los dos objetivos
del proyecto, ya que además de graficar mediante MATLAB, pudimos
ejercitar los conocimientos matemáticos de transformaciones de
coordenadas, para poder graficar distintas figuras, además gracias al
problema 5, se logró graficar, no únicamente una superficie cerrada,
sino un volumen.
3. Se presentaron distintos problemas al momento de graficar,
especialmente en el problema N°4, ya que teníamos que generar un
plano mediante una función constante, sin embargo los comandos que
se utilizan para la graficación, trabajan con matrices, por lo que las
funciones no pueden ser escalares
En este aspecto, era necesario que nuestra función constante fuera
relacionada con las matrices, para volverla una matriz, esto se podía
realizar de dos formas distintas, utilizando operadores matemáticos
que nos permitan relacionar las matrices X y Y, sin alterar la ecuación
(como al sumar y restar una o ambas matrices dentro de la ecuación) o
al generar una función en donde multiplicamos el escalar por el
comando “ones(size(matriz))”, este comando se encarga de crear una
matriz llena de “1”, del tamaño de la matriz que deseemos, de esta
forma al multiplicarla por el escalar, estaremos generando una matriz
de una constante, que podrá ser graficada.
Referencias:

Introducción y Tutoriales de Matlab:

o Introducción a Matlab, MathWorks:


https://la.mathworks.com/help/matlab/getting-started-with-
matlab.html?s_tid=CRUX_lftnav Citado [04/05/2020 a las 10:55
p.m.].
o Gráficas en dos y tres dimensiones, MathWorks:
https://la.mathworks.com/help/matlab/learn_matlab/plots.html
Citado [04/05/2020 a las 11 p.m.].
o Gráficos 3D en Matlab, Códigos métodos numéricos,
https://www.youtube.com/watch?v=1PNwH_Mmfuk Citado
[04/05/2020].
o Tutorial 13 de Matlab en español – Gráficos 3D, Tutoriales de
Matlab en español:
https://www.youtube.com/watch?v=GJgCwlIKA64 Citado
[04/05/2020].

Referencias sobre coordenadas:


o William H. Hayt, Jr., John A. Buck, “Teoría electromagnética”.,
2006, 7ma edición, Mc.Graw-Hill, pp 4-21.

También podría gustarte