You are on page 1of 22

Herramientas computacionales para la

matemática
MATLAB: MuPAD.

Verónica Borja Macías

Junio 2012

1
Matlab
MuPAD

 El Symbolic Math Toolbox está basado en el MuPAD


symbolic engine.
 El MuPAD engine es un proceso que se ejecuta en la
computadora de manera separada de MATLAB
 El MuPAD engine se inicia cuando la función que es
llamada en MATLAB requiere del symbolic engine.

2
Matlab
MuPAD

 Para iniciar el MuPAD podemos ir al boton: Start y ahi


seleccionar Toolboxes>Symbolic Math>MuPAD.

3
Matlab
MuPAD

 Mediante el comando mupadwelcome desde la linea de


comandos también es posible abrir el MuPAD

4
Matlab
Libreta de MuPAD

5
Matlab
Evaluación de expresiones

 Para evaluar las expresiones dentro de la libreta existen


varias opciones.
 Teclear enter
 Seleccionar alguna de las ociones del menu notebook:
 Evaluate
 Evaluate from Beginning
 Evaluate to End
 Evaluate All.
 O en la barra de herramientas

6
Matlab
Funciones

 Para evitar errores de sintaxis y para


recordar facilmente los comandos MuPAD
puede completar automáticamente los
comandos que se se empezaron a teclear
al oprimir Ctrl+Barra espaciadora.
 Y por supuesto se puede acceder a las
funciones mediante la barra de funciones
de la derecha.

7
Matlab
Ayuda

 Si deseamos obtener ayuda de sobre


alguna función podemos:

 Colocar el cursor sobre la función en el input.

 Dar clic con el boton derecho sobre la


función.

 Teclear en el input :
info(fnc)
?fnc

8
Matlab
Ayuda

 Por último tenemos la ventana gráfica de ayuda en la que


podemos ver el contenido y buscar información.

9
Matlab
Sintaxis

 Existen bastantes diferencias entre MATLAB y MuPAD en


cuanto a sintaxis.

10
Matlab
Sintaxis

11
Matlab
Aritmética

Aritmética con enteros, racionales y


aproximaciones
[ 2 + 2
[ (1 + (5/2*3))/(1/7 + 7/9)^2
[ 56^(1/2)
[ float(sqrt(56))
[ DIGITS:=20: float(sqrt(56))
[ delete DIGITS
[ float(sqrt(56))
[ (1.0 + (5/2*3))/(1/7 + 7/9)^2
[ 1.0/3*exp(1)*sin(2)
[ float(1.0/3*exp(1)*sin(2))
[ 1.0/3*exp(1.0)*sin(2.0)

12
Matlab
Aritmética

Aritmética con complejos


[ sqrt(-1), I^2
[ (1 + 0.2*I)*(1/2 + I)*(0.1 + I/2)^3
[ 1/(sqrt(2) + I)
[ rectform(1/(sqrt(2) + I))
[ Re(1/(2^(1/2) + I))
[ Im(1/(2^(1/2) + I))
[ conjugate(1/(2^(1/2) + I))
[ abs(1/(2^(1/2) + I))
[ arg(1/(2^(1/2) + I))

13
Matlab
Derivadas
Derivadas
[ f := 4*x + 6*x^2 + 4*x^3 + x^4: diff(f, x)
Derivadas parciales
[ f := y^2 + 4*x + 6*x^2 + 4*x^3 + x^4: diff(f, y)
Derivadas de orden superior
[ diff(diff(diff(sin(x), x), x), x)
[ diff(sin(x), x, x, x)
[ diff(sin(x), x $ 3)
Derivadas respecto a varias variables
[ diff(diff((x^2*y^2 + 4*x^2*y + 6*x*y^2), y), x)
[ diff(x^2*y^2 + 4*x^2*y + 6*x*y^2, y, x)
Derivada de una función arbitraria
[ D(y)(t); D(y^2)(t)
[ y'(t); (y^2)'(t)
14
Matlab
Integrales
Integrales indefinidas
[ int((cos(x))^3, x)
Integrales definidas
[ int((cos(x))^3, x = 0..PI/4)
[ int(sin(x)/x, x = -infinity..infinity)
Aproximación numérica
[ int(sin(x^2)^2, x=-1..1)

[ float(int(sin(x^2)^2,(x=-1..1)))
[ numeric::int(sin(x^2)^2, x=-1..1)

15
Matlab
Álgebra vectores y metrices
Vectores y matrices
[ V := matrix([1, 2, 3])

[ A := matrix([[1, 2], [3, 4], [5, 6]]);

[ B := matrix([[1, 2, 3], [4, 5, 6]])

[ C := matrix(3, 2, [[-1, -2], [-4, -5], [-7, -8]]);

[ W := matrix(1, 3, [1, 2, 3])

[ F := matrix(3, 3, [[1, -1, 0], [2, -2]])

[ matrix(2, 2, [[-1, -2], [-4, -5], [-7, -8]])

[ G := matrix(4, 4, [1, 2, 3, 4], Diagonal)

16
Matlab
Álgebra vectores y metrices
Operaciones con matrices
[ A := matrix([[1, 2], [3, 4], [5, 6]]);
[ B := matrix([[1, 2, 3], [4, 5, 6]]);
[ A*B
CUIDADO:Operaciones entre escalares y matrices
[ C := matrix(2, 2, [[-1, -2], [-4, -5]]);
[ C + 10
Determinante, inversa
[ G := matrix([[1, 2, 0], [2, 1, 2], [0, 2, 1]]);
det(G); 1/G
Algebra lieneal
[ linalg::eigenvalues(G);
[ linalg::eigenvalues(F);
[ linalg::eigenvalues(A*B)
17
Matlab
Solución de ecuaciones
Con una variable
[ solve(x^5+3*x^4-23*x^3-51*x^2+94*x+120=0,x)
Con parámetros
[ solve(a*x^2 + b*x + c = 0, x)
[ solve(a*x^2 + b*x + c = 0, x) assuming a > 0
Sistemas de ecuaciones
[ solve([x^2+x*y+y^2 = 1, x^2-y^2 = 0], [x, y])
[ solve([x^2 + y^2 = a, x^2 - y^2 = b], [x, y])
Ecuaciones diferenciales
[ o:=ode(x^2*diff(y(x),x,x)+2*x*diff(y(x),x)+x, y(x)):
[ solve(o)
Inecuaciones
[ solve(x^4 >= 5, x)
[ assume(x in R_); solve(x^4 >= 5, x)
[ solve(x^4 >= 5, x) assuming x > 0
18
Matlab
Manipulación de expresiones
Polinomios
[ expand((x - 1)*(x + 1)*(x^2 + x + 1)*(x^2 + 1)*(x^2 -
x + 1)*(x^4 - x^2 + 1))
[ factor(x^12 - 1)
[ collect((x - a)^4 + a*x^3 + b^2*x + b*x + 10*a^4 + (b
+ a*x)^2, x)
Descomposición en fracciones parciales
[ partfrac((7*x^2 + 7*x + 6)/(x^3 + 2*x^2 + 2*x + 1))
Simplificaciones
[ simplify((x - 1)*(x + 1)*(x^2 + x + 1)*(x^2 + 1)*(x^2
- x + 1)*(x^4 - x^2 + 1))
[ Simplify((x - 1)*(x + 1)*(x^2 + x + 1)*(x^2 + 1)*(x^2
- x + 1)*(x^4 - x^2 + 1))
[ f := a* x *(a + 1) + b* y *(y + b* x* y):
simplify(f); Simplify(f)

19
Matlab
Manipulación de expresiones

Expresiones trigonométricas
[ expand(sin(5*x))
[ factor(cos(x)^4 + 4*cos(x)^3*sin(x) +
6*cos(x)^2*sin(x)^2 + 4*cos(x)*sin(x)^3 + sin(x)^4)
[ simplify(cos(x)^2 + sin(x)^2)
[ simplify(cos(x)^4 + sin(x)^4 + sin(x)*cos(x))
[ Simplify(cos(x)^4 + sin(x)^4 + sin(x)*cos(x))

Simplificación de partes específicas de la expresión


[ simplify(ln(x)+ln(3)-ln(3*x)+(exp(x)-1)/(exp(x/2)+1))
[ simplify(ln(x)+ln(3)-ln(3*x)+(exp(x)-1)/(exp(x/2)+1),
ln)

20
Matlab
Restricciones
Las variables por default son complejas
[ solve(x^(5/2) = 1, x)
[ solve(x^(5/2) = 1, x) assuming x in R_
[ solve(x^4 - 1 = 0, x) assuming x>0
[ solve(x^4 - a = 0, x) assuming a = 16 and x in R_

Restricciones sobre integrales


[ int(1/abs(x^2 - 1), x)
[ int(1/abs(x^2 - 1), x) assuming x > 1

Simplificacionde expresiones con restricciones


[ simplify(sqrt(x^2+2*x+1)+sqrt(x^2-2*x+1)+sqrt(x^2+
4*x+4)+sqrt(x^2-4*x+4))
[ simplify(sqrt(x^2+2*x+1)+sqrt(x^2-2*x+1)+sqrt(x^2+
4*x+4)+sqrt(x^2-4*x+4)) assuming x > 2

21
Matlab
Gráficas
Gráficas 2D
[ plot(sin(x)*cos(3*x))
Gráficas 3D
[ plot(sin(x)*sin(y), #3D)
Graficar varias funciones a la vez
[ plot(sin(x), cos(x), tan(x), cot(x))
[ plot(sin(k*x) $ k = 1..3)
[ plot(-sqrt(r^2 - x^2 - y^2) $ r = 1..5, #3D)
Especificar rangos
[ plot(sin(x^3)*exp(x), x = 3..5)
[ plot(sin(x)*sin(y), x = 0..3, y = 1..3, #3D)
[ plot(sin(k*x) $ k = 1..5, x = 0..2*PI)
[ plot({sin(k*x), k*t^2} $k=1..5, x=0..2*PI, t=-1..1)
Graficar por partes
[ plot(piecewise([x < - 2, - 1], [-1 < x and x < 0,
x^2], [0 < x and x < 1, -x^2], [x > 1, 1]))

22

You might also like