Herramientas computacionales para la matemáticaMATLAB: MuPAD.
Verónica Borja Macías
Junio 2012
1
MatlabMuPAD
2
El Symbolic Math Toolbox está basado en el MuPADsymbolic 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 esllamada en MATLAB requiere del symbolic engine.
MatlabMuPAD
3
Para iniciar el MuPAD podemos ir al boton: Start y ahiseleccionar Toolboxes>Symbolic Math>MuPAD.
MatlabMuPAD
4
Mediante el comando mupadwelcome desde la linea de comandos también es posible abrir el MuPAD
MatlabLibreta de MuPAD
5
MatlabEvaluación de expresiones
6
Para evaluar las expresiones dentro de la libreta existenvarias 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
MatlabFunciones
7
Para evitar errores de sintaxis y pararecordar facilmente los comandos MuPADpuede completar automáticamente los comandos que se se empezaron a teclearal oprimir Ctrl+Barra espaciadora.
Y por supuesto se puede acceder a lasfunciones mediante la barra de funcionesde la derecha.
MatlabAyuda
8
Si deseamos obtener ayuda de sobrealguna 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
MatlabAyuda
9
Por último tenemos la ventana gráfica de ayuda en la que podemos ver el contenido y buscar información.
MatlabSintaxis
10
Existen bastantes diferencias entre MATLAB y MuPAD en cuanto a sintaxis.
MatlabSintaxis
11
MatlabAritmética
12
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)
MatlabAritmética
13
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))
MatlabDerivadas
14
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)
MatlabIntegrales
15
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)
MatlabÁlgebra vectores y metrices
16
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)
MatlabÁlgebra vectores y metrices
17
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)
MatlabSolución de ecuaciones
18
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
MatlabManipulación de expresiones
19
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)
MatlabManipulación de expresiones
20
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)
MatlabRestricciones
21
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
MatlabGráficas
22
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]))
Top Related