Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comandos Básicos
Para definir una función utilizamos un comando con la siguiente estructura
nombre_funcion [variable_] := expresión
Lo primero es el nombre de la función, que no puede contener caracteres extraños ni espacios. A
continuación, entre corchetes se especifica el nombre de la variable o las variables seguido de un
guion bajo. Para definirla se emplean dos puntos y un igual, y tras ellos podemos escribir ya la
expresión correspondiente. Veamos algunos ejemplo:
*Nota: para evaluar una celda debemos tener el cursor colocado en ella a continuación presionar Mayúscu-
las + Enter
y[x_] := x ^ 2
funcion1[x_, y_] := x + y
Si queremos utilizar una función conocida, Mathematica la reconoce si utilizamos el nombre que le
tenga asociado, con la primera letra en mayúsculas e introduciendo el argumento entre corchetes.
Algunas funciones usuales que podemos estar interesados en usar son las siguientes:
*Nota: las mayúsculas son necesarias si queremos utilizar alguna función que Mathematica ya conozca. A la
hora de definir nuestras funciones podemos escribir el nombre como nos interese.
También podemos querer evaluar alguna función, de manera que nos devuelva un resultado
numérico. Tanto si la función ya está predefinida como los ejemplos que acabamos de ver, como si
la hemos definido nosotros, usaríamos el comando:
N[Función[valores]]
In[698]:= N[Sin[2]]
⋯ seno
Out[698]= 0.909297
2 seminario_mathematica_mmii.nb
Out[708]= 0.648054
Derivadas
Si lo que nos interesa es conocer la derivada de alguna función podemos utilizar diferentes
comandos. El más intuitivo sería introducir un apostrofe, o dos si queremos la derivada segunda
y así. Éste funcionará bien siempre que la función sea de una variable.
Otra forma de escribirlo es la siguiente:
D[Nombre_funcion[variable1, variable2,...] , variable respecto a la que
derivo]
Ejemplos
Out[704]= 3 - Sin[x]
Out[705]= 3 - Sin[x]
Out[706]= - Cos[x]
In[711]:= funcion2[x, y]
D[funcion2[x, y], {y, 2}]
deriva
Out[711]= x Sech[y]
In[818]:= Clear[y]
borra
Representación Gráfica
Comandos Básicos
Gráficos en 2D
Para representar una función utilizamos el comando ‘Plot’ con la siguiente estructura:
Plot[nombre_funcion[variable], {variable,a,b}]
donde a y b definen el intervalo en el que la quiero dibujar.
También podemos introducir directamente la función en el primer argumento,
Plot[expresion_algebraica, {variable,a,b}]
El comando ‘Plot’ dibuja gráficos en 2D, por lo que debemos dejar sólo una variable libre. Una vez
que evaluamos la celda con ese comando, nos salen opciones debajo donde podemos cambiar el
seminario_mathematica_mmii.nb 3
Para representar una función utilizamos el comando ‘Plot’ con la siguiente estructura:
Plot[nombre_funcion[variable], {variable,a,b}]
donde a y b definen el intervalo en el que la quiero dibujar.
También podemos introducir directamente la función en el primer argumento,
Plot[expresion_algebraica, {variable,a,b}]
El comando ‘Plot’ dibuja gráficos en 2D, por lo que debemos dejar sólo una variable libre. Una vez
que evaluamos la celda con ese comando, nos salen opciones debajo donde podemos cambiar el
estilo, el nombre de los ejes, título, etc.
In[819]:= Plot[x ^ 2 - x + 1, {x, - 2, 2}]
representación gráfica
Out[819]=
4
-2 -1 1 2
In[718]:=
1.0
Out[718]=
0.5
1 2 3 4 5
Gráficos en 3D
También podemos hacer gráficos en 3D, con el comando ‘Plot3D’.
Plot3D[nombre_funcion[variable1, variable2], {variable1,a,b},{variable2,c,d}]
donde a, b, c y d definen los intervalos en los que quiero dibujar la función.
De nuevo, también podemos introducir directamente la función en el primer argumento.
4 seminario_mathematica_mmii.nb
Out[721]=
Out[727]=
Out[820]=
Ecuaciones Diferenciales
Ecuaciones Diferenciales Ordinarias (EDOs)
El comando que nos va a permitir resolver ecuaciones diferenciales es ‘DSolve’, y tiene la siguiente
estructura de argumentos:
DSolve[nombre_ecuacion,funcion_a_conocer,variable_independiente]
Vamos a probarlo con la ecuación que hemos definido antes,
seminario_mathematica_mmii.nb 5
El comando que nos va a permitir resolver ecuaciones diferenciales es ‘DSolve’, y tiene la siguiente
estructura de argumentos:
DSolve[nombre_ecuacion,funcion_a_conocer,variable_independiente]
Vamos a probarlo con la ecuación que hemos definido antes,
In[822]:= DSolve[ec1, u, x]
resolvedor diferencial
Condiciones Iniciales
Podemos añadir condiciones iniciales para que me de la solución particular que las satisface. En
primer lugar, debemos definirlas y a continuación se introducen en el comando DSolve entre llaves
junto con el nombre de la ecuación.
In[761]:= ci1 := u[0] ⩵ 0
DSolve[{ec1, ci1}, u, x]
resolvedor diferencial
Para trabajar con la solución que nos da Mathematica, tenemos varias opciones. En primer lugar ,
podemos simplemente definir una función que sea la función que nos ha devuelto, que quizá es lo
más intuitivo.
sol1[x1_] := 2 * Sin[x1]
seno
También podemos utilizar la siguiente estructura para que Mathematica entienda que quiero la
función que me ha devuelto ese comando:
In[772]:= sol = DSolve[{eq1, ci2}, u, x];
resolvedor diferencial
u[x] /. sol〚1〛
Out[773]= 3 Sin[x]
Out[774]=
2 4 6 8 10
-1
-2
-3
6 seminario_mathematica_mmii.nb
In[795]:= Clear[u, y]
borra
A la hora de usar el comando DSolve, lo único que cambia es que ahora debemos especificar las
dos variables independientes de las que depende la función que deseo conocer. Para ello, las
introduzco entre llaves separadas por comas, después de especificar la función a resolver.
In[810]:= sol1 = DSolve[edp1, u, {x, y}]
resolvedor diferencial
x2 5x
Out[810]= u → Function{x, y}, + *1 - + y
6 3
Observamos que ahora al trabajar con ecuaciones en derivadas parciales, las soluciones generales
vendrán dadas por funciones genéricas de argumentos concretos, como en este caso la función c1.
De nuevo puedo utilizar la estructura visto en la sección anterior para que Mathematica coja la
solución anterior y la trate como una función cualquiera.
In[811]:= sol3 = (u[x, y] /. sol1〚1〛)
x2 5x
Out[811]= + *1 - + y
6 3
También puedo utilizar el comando ReplaceAll para pedir que las constantes tengan valores
concretos.
In[808]:= sol3 = ReplaceAll[sol3, {C[1][var1_] → Sin[var1] + Cos[var1]}]
sustituye todos constante seno coseno
x2 5x 5x
Out[808]= + Cos - y - Sin - y
6 3 3
seminario_mathematica_mmii.nb 7
Out[809]=
t2 1
- + (Cos[t - x] + Cos[t + x] - Sin[t - x] + Sin[t + x]) t ≥ 0
Out[853]= u[x, t] → 2 2
Indeterminate True
Out[855]=
x2
1
-
ⅇ 1+4 t
In[862]:=
Out[862]=
Problemas de Sturm-Liouville
Por último algunos ejemplos de problemas con condiciones de contorno sencillos que Mathemat-
ica es capaz de resolver sin problema.
seminario_mathematica_mmii.nb 9
Por último algunos ejemplos de problemas con condiciones de contorno sencillos que Mathemat-
ica es capaz de resolver sin problema.
Condiciones de Dirichlet
In[863]:= prob1 = y ''[x] + λ y[x] ⩵ 0
ci1 = {y[0] ⩵ 0, y[Pi] ⩵ 0};
número pi
sol = DSolve[{prob1, ci1}, y[x], x]
resolvedor diferencial
Condiciones de Neumann
In[866]:= ci2 = {y '[0] ⩵ 0, y '[Pi] ⩵ 0};
número pi
sol = DSolve[{prob1, ci2}, y[x], x]
resolvedor diferencial
2
*1 Cosx λ n
. ∈ ℤ && n
. ≥ 0 && λ ⩵ n
.
Out[867]= y[x] →
0 True
Por si queréis profundizar más, os dejo el enlace a la guía de Mathematica sobre Ecuaciones Diferen-
ciales.
Referencia: https://reference.wolfram.com/language/guide/DifferentialEquations.html