MuPad

Anuncio
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
solve(x^(5/2)
solve(x^(5/2)
solve(x^4 - 1
solve(x^4 - a
por default son complejas
= 1, x)
= 1, x) assuming x in R_
= 0, x) assuming x>0
= 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
Descargar