Escolar Documentos
Profissional Documentos
Cultura Documentos
HUIXQUILUCAN
Sesion # 1
Funciones Bsicas de MAPLE
Dr. Ildebrando Prez Reyes
"Maple is a trademark of Waterloo Maple Inc."
"The computations in this paper were performed by using Maple(TM)."
> a;
4
(1.2)
(1.4)
Notese ahora que despus del comando "restart", todas las asignaciones son borradas
> restart;
> a;
a
(1.5)
Ntese que tambin es posible escribir varios comandos en un mismo apartado o "execution group"
siempre y cuando queden separados por sus respectivas ";" o ":". Vase el siguiente ejemplo:
> 1*2; 2*2;3*3;# Los comandos pueden estar separados por espacios
o no.
2
4
9
(1.6)
> 1*2;
2*2;
3*3;#Cada comando puede ser escrito en una diferente linea para
mejor visualizacin. Para ello use "SHIFT + ENTER"
2
4
9
(1.7)
Las operaciones bsicas se realizan a traves de los signos comunes a diversos lenguajes de
programacin como sigue
>
>
>
>
>
>
>
#SUMA
#RESTA
#MULTIPLICACION
#DIVISION
#POTENCIACION
#RAIZ CUADRADA
#RADICACION
"
"
"
"
"
"
"
+ "
- "
* "
/ "
^ " o bien "**"
sqrt() " o bien " ^(1/2) " o bien " **(1/2) "
^(1/2) " o bien " **(1/2) "
Otras operaciones que involucran funciones trigonomtricas, hiperbolicas o te otro tipo tambien
estn disponibles. Debe tenerse en cuenta que el software esta pensado para personas de habla
inglesa asi que los comandos deben introducirse en ingles. Ejemplos de ellos son:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
#SENO
o SINE
" sin() "
#COSENO
o COSINE
" cos() "
#TANGENTE
o TANGENT
" tan() "
#SECANTE
o SECANT
" sec() "
#COTANGENTE o COTANGENT
" cot() "
#COSECANTE o COSECANT
" csc() "
################################
#SENO HIPERBOLICO
o HYPERBOLIC SINE
" sinh()
#COSENO HIPERBOLICO
o HYPERBOLIC COSINE
" cosh()
#TANGENTE HIPERBOLICA
o HYPERBOLIC TANGENT
" tanh()
#SECANTE HIPERBOLICA
o HYPERBOLIC SECANT
" sech()
#COTANGENTE HIPERBOLICA o HYPERBOLIC COTANGENT
" coth()
#COSECANTE HIPERBOLICA
o HYPERBOLIC COSECANT
" csch()
################################
#EXPONENCIAL
o EXPONENTIAL
" exp() "
#LOGARITMO NATURAL
o NATURAL LOGARITHM
" ln() "
#LOGARITMO DE BASE b o LOGARITHM OF BASE b
" log[b]() "
"
"
"
"
"
"
Es imortante sealar que las combinaciones de teclas o "shorcuts" para copiar, pegar y cortar son
los de softwares en ingles:
>
>
>
>
#
#
#
#
COPIAR
PEGAR
CORTAR
GUARDAR
"
"
"
"
CTRL
CTRL
CTRL
CTRL
+
+
+
+
c
v
x
s
"
"
"
"
> f(8);
f(5);
f(0);
63
24
(2.3)
> g(Pi);
g(180.);
g(0);
0
0.4015399309
2
(2.4)
(3.1)
> 1/3+2/3;
1/9+8/3+4/5;#Suma de nmeros fraccionarios
1
161
45
> 1/2 + 3 + 8/9+5;#Combinaciones de nmeros enteros y
fraccionarios
169
18
(3.2)
(3.3)
(3.4)
(3.6)
(3.11)
> 2*x/8-x**2/y+x*y/2;
(3.12)
> x/y*x/y + x/y;
(3.13)
Operaciones algebraicas
Como evaluar con eval, evalf, subs
Debe aceptarse por el usuario que los tres comandos eval, evalf y subs pueden hacer lo
mismo, cambiando nicamente su sintaxis y algunos detalles.
eval
Este comando es el que en el sentido estricto de la palabra, junto con evalf, debe ser usado
para evaluar. Este comando se deriva de la plabra EVALUATE y puede evaluar de manera
simbolica como si fuera una sustitucin y ejecutar el valor dado. Consideremos la siguiente
expresin:
> Ra:= 720*(k^2+2*k)/Biot/k^3;
(3.1.1)
evalese solo para Biot=2
> Ra00:= eval(Ra,Biot=2);
(3.1.2)
y en el caso de evaluar a k=5 tambin se puede agregar una lista como sigue
> Ra01:= eval(Ra,[Biot=2,k=5]);
(3.1.3)
Pero tmese en cuenta que a pesar de haber evaluado, si el usuario necesita un nmero decimal
en vez de una fraccin, el comando falla y tendramos que usar una calculadora. Para rodear este
obstculo basta con agregar un punto decimal despus del 2 o bien despus del 5 para que
MAPLE lo considere como decimal en todo el algoritmo
> eval(Ra,Biot=2.);
(3.1.4)
> eval(Ra,[Biot=2,k=5.]);
eval(Ra,[Biot=2.,k=5]);
100.8000000
100.8000000
(3.1.5)
evalf
El objetivo de evalf es el mismo que el de agregar un punto decimal despus de algn nmero;
pero cuando se trata de expresiones ms grandes y de operaciones en donde el manejo del "error"
es importante, este comando es de gran ayuda. Su nombre deriva de EVALUATE FLOATING,
es decir usar punto flotante para evaluar o simplemente decimales. Comprese con el ejemplo
anterior de Ra
> evalf(eval(Ra,Biot=2));
(3.1.6)
> evalf(eval(Ra,[Biot=2,k=5]));
100.8000000
504
5
subs
(3.1.7)
(3.1.10)
Pero ntese que tambien sirve para evaluar numricamente
> Ra04:= subs(Biot=2/3.*k, Ra);
Ra04:= subs(Biot=2./3*k, Ra);
(3.1.11)
Ntese la siguiente comparacion entre subs y eval
> subs(y=0, sin(y));
eval(sin(y), y=0);
0
(3.1.12)
0.
(3.1.13)
Lo idneo sera
> evalf(subs(y=0, sin(y)));
Un caso en donde subs no funciona es el siguiente en donde se desea sustituir k^2 por K
> Nus:= 720*(k^2+2*k^4)/(Biot*k^6);
(3.1.14)
Factorizacin
Factorizacin
Consideremos un caso simple donde hay un factor comun como en la siguiente expresin
> ej00:= x^2/y^2+x/y;#La expresin quedo asignada a ej00
"ejemplo 00"
(3.2.1)
> ej00;#Esta dado de alta en la memoria
(3.2.2)
En la factorizacin el comando a usar es "factor()" que para expresiones mas complicadas
puede ser necesario agregar otras opciones (ver ayuda)
> factor(ej00);
(3.2.3)
Otro ejemplo:
> ej01:= x**2 + 4*x + 4;#Binomio al cuadrado
(3.2.4)
> factor(ej01);
(3.2.5)
Otro ejemplo:
> ej02:= x**2 + 5*x + 6;
(3.2.6)
> factor(ej02);#OJO Tomar en cuenta que este comando funciona
cuando las soluciones al polinomio son reales
(3.2.7)
Otro ejemplo:
> ej03:= x**2 + 2/3*x + 1/9;
(3.2.8)
> factor(ej03);#OJO Tomar en cuenta que este comando funciona
cuando las soluciones al polinomio son reales
(3.2.9)
Un caso de un polinomio cbico:
> ej04:= x**3 + 2/3*x**2 + 1/9*x;
(3.2.10)
> factor(ej04);
(3.2.11)
Otro polinomio cbico
> ej05:= 2*x**3 + 3*x**2 - 3*x - 2;
(3.2.12)
> factor(ej05);
(3.2.13)
Otro polinomio cbico
> ej06:= x**3 + 2*x**2 - x - 2;
(3.2.14)
> factor(ej06);
(3.2.15)
En el caso de que se trate de una expresion que involucre funciones trigonomtricas tambien
puede funcionar
> ej07:= sin(x)*cos(x) + 2*sin(x)**2*tan(2*y) - sin(x)**3*sinh
(5*x);
(3.2.16)
> factor(ej07);#Donde se factoriz el sin(x)
(3.2.17)
> ej00;
(3.3.1)
> ej08:= ej00 = 0;#Donde se ha aignado a ej08 e igualado a 0
(3.3.2)
el comando usado para resolver o calcular las raices de la ecuacion cuadrtica anterior es
"solve(expresin,incgnita)". En este caso consideraremos que "x" es la incgnita y
que "y" es una constante
> solve(ej08,x);
solve(x^2/y^2+x/y = 0,x);
solve(x^2/y^2+x/y,x);#Ntese que si no se escribe "=0" MAPLE
por default considera que la expresion est igualada a cero
siempre
(3.3.3)
Considrese ahora el ejemplo 01
> ej09:= ej01 = 0;
(3.3.4)
> solve(ej09,x);#Que es precisamente lo que se deduce de la
factorizacin
(3.3.5)
> solve(ej09);#Si solo hay una letra o variable, MAPLE la
considera la incgnita
(3.3.6)
Consideremos ahora una ecuacin en donde el comando "factor" no funciona y cuyas raices
son imaginarias
> ej10:= x^2+4*x+5 = 0;
(3.3.7)
> factor(ej10);#El comando no pudo factorizar y devuelve la
misma expresion
(3.3.8)
> solve(ej10,x);#factor() no funciona porque las raices son
imaginarias
(3.3.9)
Consideremos la ecuacin cbica del ejemplo 05
> ej11:= ej05 = 0;
(3.3.10)
(3.3.10)
> solve(ej11,x);#Lo cual concuerda con la factorizacin
(3.3.11)
Consideremos una ecuacin de grado 4 en donde el comando "solve" no funciona
> ej12:= x**4 - 2*x^3+3*x^2-3*x-2 = 0;
(3.3.12)
> solve(ej12);#El comando no puede hallar las raices de manera
algebraica. A partir de ecuaciones de grado 4 es muy dificil.
Para este tipo de caso se usa la versin numrica de solve
que usa tecnicas numricas para calcular las raices
(3.3.13)
140
120
100
80
60
40
20
5
x
10
Por otro lado tambien es posible dar un intervalo de graficacion para la funcion y(x) desde x=
-6 hasta x=4, por ejemplo
> plot(y00,x=-6..4);
30
20
10
2
x
tambien es posible escribir las etiquetas en los ejes x y y.Tambien se puede definir las
caracteristicas de los ejes como sigue
> plot(y00, x=-6..4, labels=[x,y(x)], axes=boxed);
30
20
y x
10
0
0
y x
2
1
x
Tambien se pueden graficar mas de una funcin en el mismo grafico. Por ejemplo graficaremos
y00 y y01 en el mismo grfico y se les identificar
> plot([y00,y01],x=-1..1, labels=[x,y(x)], axes=normal, legend=
["y00", "y01"]);
y x
4
1
x
y00
y01
Adems tambien se puede agregar un mallado que resulta muy util al tratar de dar un punto
coordenado
> plot([y00,y01],x=-1..1, labels=[x,y(x)], axes=boxed, legend=
["y00", "y01"], axis=[gridlines=[20, color=blue]]);
9
8
7
6
5
4
3
y x
2
1
0
0
x
y00
y01
expresin implcita
> exprimpl00:= x^2+y^2=1;
(4.1.3)
> with(plots,implicitplot);
(4.1.4)
> implicitplot(exprimpl00,x=-1..1,y=-1..1);
0
x
4
3
y
2
1
4
x
Grficas 3D
Con MAPLE se pueden hacer grficas 3D con el comando "plot3d(expresion, x=a..
b, y=c..d, opciones)" y se usa como sigue. Considrese la siguiente funcin de dos
variables
> W:= 2*x^2+4*y^2-5;#Las variables independientes son "x" y "y"
(4.2.1)
> plot3d(W,x=-1..1,y=-1..1);
(5.1)
Si bien es cierto, la expresin es tan grande que no permite inferir nada e incluso a primera vista
cualquier intento de simplificacin con identidades trigonomtricas no lleva a nada. Probemos con
el comando collect(expresin,[lista])para colectar funciones seno
> collect(RaG,[sin(x)]);
(5.2)
> collect(RaG,[sin]);
(5.3)
> collect(RaG,[cos]);
(5.5)
Ntese que no sirvi de nada. Tratemos ahora de desbaratar todas los binomios y hacer algunas
sumas y restas con expand(expresion)
> expand(collect(RaG,[cos]));
(5.6)
Por lo menos hubo un avance. Pero a veces es mejor dejar que MAPLE haga su trabajo. Usemos el
comando simplify(expresin)
> simplify(RaG);
(5.7)
UN SOLO COMANDO!!!!!!!!!
Consideremos ahora el caso de las fracciones parciales. Consideremos el siguiente caso
> yfrac00:= (s^2+6*s+9)/(s^3+s^2-10*s+8);
(5.8)
La experiencia nos dice que debemos factorizar el denominador para luego ver que caso de
fracciones parciales usar. Entonces,
> yfrac01:= factor(yfrac00);
(5.9)
Para ello MAPLE tiene el comando convert(expresin,parfrac,variable) que hace
todo el trabajo
> yfrac02:= convert(yfrac01,parfrac,s);
(5.10)
que obviamente pudo usarse desde el inicio
> yfrac03:= convert(yfrac00,parfrac,s);
(5.11)
y puede comprobarse que es equivalente a lo anterior al simplificar
> yfrac04:= simplify(yfrac03);
(5.12)
El comando convert tiene muchas otras opciones. Ver ayuda