Está en la página 1de 14

UNIVERDIDAD NACIONAL

AUTONOMA DE HONDURAS
Facultad de Ciencias
Escuela de Fisica
Elctricidad y Magnetismo

INTRODUCCIÓN A MATHEMATICA
Inst. Leorely Reyes

→INTROUCCIÓN

SUMA, RESTA, MULTIPLICACION Y DIVISIÓN


⇒Para que el programa pueda realizar la actividad señalada, deberán seleccionar
la tecla shift + enter para que el programa devuelva la actividad señalada.
(Debug) In[1]:= 2+2
(Debug) Out[1]= 4

→INTRODUCCIÓN DE SÍMBOLOS DE USO COMÚN

⇒Como se sabe, en la clase de Electricidad y Magnetismo se trabaja con diversos


sistemas de coordenadas y diversas variables. Muchas de estas están en alfabeto
griego o son símbolos matemáticos específicos. Para que haya consistencia al
momento de hacer los cálculos es necesario conocer cómo se introducen dichas
variables en Mathematica.
2 FS-321PRACTICA1.nb

→OPERACIONES BÁSICAS

⇒A continuación se enuncian operaciones básicas que se pueden realizar con


números:
FS-321PRACTICA1.nb 3

→ASIGNACIÓN DE VARIABLES
(Debug) In[2]:= a=3
(Debug) Out[2]= 3

(Debug) In[3]:= b := 2

(Debug) In[4]:= a+b


(Debug) Out[4]= 5

◼ En general, es preferible definir en letras minúsculas variables que almacenen valores numéricos,o
funciones escalares, mientras que en letras mayúsculas es preferible almacenar funciones
vectoriales. Sin embargo, hay ciertas variables en letras mayúsculas que no se pueden usar para
almacenar funciones o valores numéricos, debido a que cumplen otras funciones en Mathematica. A
continuación se detallan dichas
variables:

→FUNCIONES ESPECIALES
Mathematica tambi´en puede desarrollar cálculos con funciones trigonométricas, logarítmicas, exponen-
ciales, etc. A continuación, se describen algunas funciones especiales de uso común:

→DEFINICIÓN DE FUNCIONES

↦ La manera de definir una funci´on con una variable independiente en Mathematica,



por ejemplo f(x)=3 sen(2x ):
2
4 FS-321PRACTICA1.nb

π
(Debug) In[5]:= f[x_] = 3 * Sin2 * x - 
2
(Debug) Out[5]= - 3 Cos[2 x]

↦ El procedimiento es similar para funciones con dos variables independientes. Consideremos la


y
función g(x,y)= :
(x^2+y^2)^32

(Debug) In[6]:= g[x_, y_] = y / (x ^ 2 + y ^ 2) ^ 3 / 2


y
(Debug) Out[6]=
3
2 x2 + y2 

↦Al tener funciones definidas, usted puede evaluarlas para así obtener el valor correspondiente de la
variable independiente una vez evaluada.
(Debug) In[7]:= f[Pi / 2]
(Debug) Out[7]= 3

→INTEGRACIÓN

◼ Para poder calcular la antiderivada de una función, se hace uso del comando Integrate, de la
siguiente manera:
(Debug) In[8]:= Integrate[f[x], x]
3
(Debug) Out[8]= - Sin[2 x]
2

◼ En Mathematica tambi´en se pueden desarrollar integrales indefinidas en más de una variable.


(Debug) In[9]:= Integrate[Sqrt[x ^ 2 - y ^ 2], x, y]

1 y
(Debug) Out[9]= 2xy x2 - y2 + x3 ArcTan  - y3 Logx + x2 - y2 
6
x2 - y2

Se debe respetar el orden de integraci´on de la integral indefinida. Si el primer diferencial es respecto a


x y el segundo respecto a y, el orden de integraci´on es inverso en Mathematica.

↘INTEGRALES DEFINIDAS
◼ Para poder desarrollar una integral definida, el proceso es similar al de una integral indefinida, con la
salvedad de que se definen los límites de integración.
FS-321PRACTICA1.nb 5

(Debug) In[10]:= Integrate[f[x], {x, 3, 1}]


3
(Debug) Out[10]= (- Sin[2] + Sin[6])
2

◼ El procedimiento para desarrollar integrales definidas en varias variables es similar también


(Debug) In[11]:= Integrate[Sqrt[x ^ 2 - y ^ 2], {x, 0, 1}, {y, - 1, 1}]
1 ⅈ
(Debug) Out[11]= + π
6 6

↘INTEGRALES
◼ La idea de realizar integrales la misma que la de integrales sencillas. El uso de

(Debug) In[12]:=  x ⅆx

x2
(Debug) Out[12]=
2

2
(Debug) In[13]:=  x ⅆx
1
3
(Debug) Out[13]=
2

◼ Al momento de realizar integrales múltiples se utiliza


el comando “integrate” por pasos.

(Debug) In[16]:= h[x_, y_, z_] := x2 * y * Sqrt[z]

(Debug) In[17]:= I1[y_, z_] = Integrate[h[x, y, z], x]


1
(Debug) Out[17]= x3 y z
3

(Debug) In[18]:= I2[z_] = Integrate[I1[y, z], y]


1
(Debug) Out[18]= x3 y2 z
6

(Debug) In[19]:= Integrate[I2[z], z]


1
(Debug) Out[19]= x3 y2 z3/2
9
7 2 π
◼ Resolviendola ahora pero con limites de integración por ejemplo: ∫1 ∫7 ∫0 x y 2 z ⅆx ⅆy ⅆz

(Debug) In[20]:= l[x_, y_, z_] := x y2 * Sqrt[z]


6 FS-321PRACTICA1.nb

(Debug) In[21]:= i1[y_, z_] = Integrate[l[x, y, z], {x, 0, π}]


1
(Debug) Out[21]= π2 y2 z
2

(Debug) In[22]:= i2[z_] = Integrate[i1[y, z], {y, 7, 2}]


335
(Debug) Out[22]= - π2 z
6

(Debug) In[23]:= Integrate[i2[z], {z, 1, 7}]


335
(Debug) Out[23]= - - 1 + 7 7  π2
9

335
(Debug) In[24]:= N- - 1 + 7 7  π2
9
(Debug) Out[24]= - 6436.39

↘OPERACIONES AVANZADAS

(Debug) In[14]:= Integrate[Exp[n * x], {x, 0, Infinity}]


1
(Debug) Out[14]= ConditionalExpression- , Re[n] < 0
n

◼ La salida del programa sería una expresión condicional. Esto implica que podríamos obtener
resultados en términos de variables desconocidas al aplicar un conjunto de condiciones al momento
de integrar. Así, usando el ejemplo anterior: si se asume que n es un número negativo, se deben
establecer las siguientes dos condiciones:
⇒n es un número real.
⇒n es un número menor que cero.
(Debug) In[15]:= FullSimplify[Integrate[Exp[n * x], {x, 0, Infinity}], n ϵ Reals && n < 0]
1
(Debug) Out[15]= -
n

→ Ajustes de Datos y Gráficos


◼ Algunas veces los datos tomados en laboratorio son pares de datos, que luego se deberan
de ajustar a un modelo teórico (práctica#4 Capacitores). Debido a esto también debemos a
aprender a hacer listas de datos y gráficarlas.
Usaremos datos reales utilizados para medir la longitud de onda de un sónido (frecuencia
3400Hz) que obedecian la ecuación nλ=d, que posteriormente se utilizarón para medir la
velocidad del sonido.
(Debug) In[29]:= datos := {{1, 10}, {2, 19.5}, {3, 30}, {4, 40}, {5, 50.9},
{6, 61.3}, {7, 71.7}, {8, 82.3}, {9, 92}, {10, 102.3}, {11, 109.2}}
◼ Para gráficar un conjunto de datos utilizamos el comando ListPlot
FS-321PRACTICA1.nb 7

(Debug) In[30]:= A = ListPlot[datos]

100

80

60
(Debug) Out[30]=

40

20

2 4 6 8 10

◼ Para encontrar el valor de la pendiente, al cual se ajustan nuestros datos usaremos el comando
FindFit.
(Debug) In[31]:= ajuste = FindFit[datos, n * λ, {λ}, n]
(Debug) Out[31]= {λ → 10.1458}

(Debug) In[33]:= Ajuste = 10.1458 * n;

(Debug) In[34]:= B = Plot[Ajuste, {n, 0, 11}]

100

80

60
(Debug) Out[34]=

40

20

2 4 6 8 10

◼ Los gráficos anteriores se mirarian mejor uno encima del otro para poder observar el
comportamiento, ademas seria bueno que fueran de distintos colores para poder comparar de
mejor manera. Para compararlos usaremos el comando Show
8 FS-321PRACTICA1.nb

(Debug) In[35]:= Show[A, B]

100

80

60
(Debug) Out[35]=

40

20

2 4 6 8 10

◼ Para cambiar el color de nuestro gráfico se usa el comando PlotStyle


(Debug) In[37]:= B1 = Plot[Ajuste, {n, 0, 11}, PlotStyle → Red]

100

80

60
(Debug) Out[37]=

40

20

2 4 6 8 10

(Debug) In[38]:= Show[A, B1]

100

80

60
(Debug) Out[38]=

40

20

2 4 6 8 10
FS-321PRACTICA1.nb 9

(Debug) In[44]:= B2 = Plot[Ajuste, {n, 0, 11}, PlotStyle → Red, PlotLabel → "Ajuste experimental",
PlotLegends → {"n*λ=d"}, AxesLabel → {"n", "d (cm)"}]
Ajuste experimental
d (cm)

100

80

(Debug) Out[44]= n*λ=d


60

40

20

n
2 4 6 8 10

(Debug) In[46]:= Show[A, B2, AxesLabel → {"n", "d (cm)"}, PlotLabel → "Ajuste lineal"
]
Ajuste lineal
d (cm)

100

80

(Debug) Out[46]=
60
n*λ=d

40

20

n
2 4 6 8 10
10 FS-321PRACTICA1.nb

Gráficos de dos variables

(Debug) In[47]:= Plot3D[g[x, y], {x, - 10, 10}, {y, - 5, 5}]

(Debug) Out[47]=

⇒Vectores
◼ Un vector se expresa de manera parecida a una funci´on para mostrar de
que variables depende y sus componente se colocan entre llaves y separadas
por comas.
v1 = {2, 3};

(Debug) In[49]:= (*El vector no depende de ninguna varible*)

◼ Definimos el vector ρ y ϕ en términos de los componentes cartesianos, luego realizamos


la gráfica de los campos vectoriales.
(Debug) In[51]:= ρ1 := {x, y}

◼ Para realizar la gráfica de una campo vectorial utilizamos el comando


“StreamPlot” :
FS-321PRACTICA1.nb 11

(Debug) In[52]:= StreamPlot[ρ1, {x, - 5, 5}, {y, - 5, 5}]

(Debug) Out[52]=
0

-2

-4

-4 -2 0 2 4

↦Vectores en 3D

x y Z
(Debug) In[62]:= r1 :=  , , 
Sqrtx2 + y2 + z2  Sqrtx2 + y2 + z2  Sqrtx2 + y2 + z2 
12 FS-321PRACTICA1.nb

(Debug) In[66]:= VectorPlot3D[{x, y, z}, {x, - 5, 5}, {y, - 5, 5}, {z, - 5, 5}]
5

-5

(Debug) Out[66]=
0

-5

-5

◼ Para generar superficies equipotenciales en electromagnetismo, utilizamos las superficies de


contorno. El formato del argumento es muy similar al de Plot3D pero con otro comando:
(Debug) In[82]:= ContourPlot[g[x, y], {x, - 10, 10}, {y, - 5, 5}]

(Debug) Out[82]=
0

-2

-4

-10 -5 0 5 10
FS-321PRACTICA1.nb 13

OPERACIONES CON VECTORES


◼ Adicionalmente, podemos realizar todas las operaciones que ya conocemos sobre estos vectores.
Definamos dos vectores en coordenadas cartesianas de nuevo:
(Debug) In[67]:= v3 = {2, 3, 4};

(Debug) In[68]:= v4 = {5, 2, 6};

(Debug) In[69]:= v3 + v4
(Debug) Out[69]= {7, 5, 10}

(Debug) In[70]:= v3 - v4
(Debug) Out[70]= {- 3, 1, - 2}

(Debug) In[71]:= productopunto = Dot[v3, v4]


(Debug) Out[71]= 40

(Debug) In[72]:= productocruz = Cross[v3, v4]


(Debug) Out[72]= {10, 8, - 11}

◼ Para obtener la divergencia utilizamos el comando Div, el primer argumento


es el vector y el segundo son los nombres de las coordenadas.
(Debug) In[73]:= v6[x_, y_, z_] := {Sin[x], Exp[y / 2], z}

(Debug) In[74]:= Div[v6[x, y, z], {x, y, z}]


ⅇy/2
(Debug) Out[74]= 1+ + Cos[x]
2

(Debug) In[75]:= v7[r_, θ_, ϕ_] := 4 * r2 , Sin[θ] * Cos[ϕ], - 2 * Cos[ϕ]

(Debug) In[76]:= Div[v7[r, θ, ϕ], {r, θ, ϕ}, "Spherical"]

4 r2 + Cos[θ] Cos[ϕ] Csc[θ] 4 r2 Sin[θ] + Cos[θ] Cos[ϕ] Sin[θ] + 2 Sin[ϕ]


(Debug) Out[76]= 8r+ +
r r

◼ De manera similar podemos obtener el rotacional utilizando el comando


Curl:
(Debug) In[78]:= Curl[v6[x, y, z], {x, y, z}, "Cartesian"]
(Debug) Out[78]= {0, 0, 0}

(Debug) In[79]:= Curl[v7[r, θ, ϕ], {r, θ, ϕ}, "Spherical"]


Csc[θ] (2 Cos[θ] Cos[ϕ] - Sin[θ] Sin[ϕ]) 2 Cos[ϕ] Cos[ϕ] Sin[θ]
(Debug) Out[79]= - , , 
r r r

◼ De la misma manera podemos obtener el gradiente y el laplaciano:


14 FS-321PRACTICA1.nb

(Debug) In[80]:= Grad[v6[x, y, z], {x, y, z}, "Cartesian"]


ⅇy/2
(Debug) Out[80]= {Cos[x], 0, 0}, 0, , 0, {0, 0, 1}
2

(Debug) In[81]:= Laplacian[v6[x, y, z], {x, y, z}, "Cartesian"]


ⅇy/2
(Debug) Out[81]= - Sin[x], , 0
4

También podría gustarte