






Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
EL PROGRAMA MAPLE ES EL MEJOR PARA EL CALCULO MATEMATICO
Tipo: Apuntes
1 / 12
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!







Un elemento importantisimo en Maple son las funciones. El sistema por sí mismo ya contiene un conjunto predefinido de éstas, pero también le proporciona al usuario varios mecanismos para poder definirlas suyas propias. Al igual que con las variables, las funciones permanecen en la memoria desde su definición y pueden ser invocadas a lo largo de toda la sesión.
La manera de crear funciones dadas por el usuario es por medio de la definición de operadores. Esto se hace utilizando la siguiente sintaxis:
nom := var -> regla; Donde nom es el nombre que se le asignará a la función, var es la variable de la cual dependerá, y regla es la regla de correspondencia que se aplicará al invocar dicha función. Entre el nombre de la variable y la regla de correspondencia se debe colocar el operador “->", formado por un signo menos (“-") y un mayor que (“>"). Por ejemplo, definamos la función f :
> (^) f := x -> x + x^2; f := x → x + x^2 Este tipo de funciones pueden ser evaluadas en la forma: f(n), donde n es una expresión aritmética, simbólica o una función. Antes de continuar, definamos la función g:
> (^) g := x -> 2x + 3x^2; g := x → 2 x + 3 x^2 Ahora, para evaluar f en x = 25, x =
23 + 18^2 y x = g(34), procedemos de la siguiente manera:
> (^) f(25); 650
> (^) f(sqrt(23) + 18^2); √ 23 + 324 + (
> (^) f(g(34)); 12506832 El procedimiento que debe seguirse para funciones de varias variables es análogo. Para definir la función procedemos de la siguiente forma:
*Coordinación de Cómputo, Facultad de Ciencias, UNAM
nom := (var1, var2, var3, ...) -> regla; Nuevamente, nom es el nombre de la función, “(var1, var2, var3, ...)” son las variables de las cuales depende (deben colocarse entre parentesis) y regla es la regla de correspondencia asignada. Por ejemplo, definamos la siguiente función:
> (^) h := (x, y, z) -> x^2 + y^2 + z^2; h := (x, y, z) → x^2 + y^2 + z^2
Para poder evaluar h en x = 3 , y = 9, z = g(x + y), procedemos de la siguiente forma:
> (^) h(3, 9, g(3 + 9)); 208026 La función se evaluará tomando el primer dato como el valor de la primer variable definida, el segundo dato como el valor de la segunda variable y así sucesivamente. De esta manera es posible definir funciones que dependan de una o varias variables. Este tipo de funciones también pueden ser utilizadas en instrucciones que reciben funciones como argumento, solamente se debe indicar a Maple que se trata de una función operador y se deben escribir explicitamente las variables de las cuales depende. Por ejemplo, la siguiente instrucción nos dá un valor erroneo:
> (^) diff(f, x); 0 Comparese con la siguiente :
> (^) diff(f(x), x); 1 + 2 x A continuación graficaremos f y g de la siguiente forma:
> (^) plot({f(x), g(x)}, x=-10..10);
0
50
100
150
200
250
300
–10 –8 –6 –4 –2 2 4 6 8 10 x
En este caso, al colocar f como argumento de plot debe expresarse como f(x), de lo contrario Maple no podra hacer la evaluación correctamente. Lo mismo sucede con funciones de varias variables. Por ejemplo, si tenemos una función d que depende de a, b y c, ésta debe ser siempre invocada como d(a, b, c). Veamos el siguiente ejemplo. Primero definimos una función de dos variables:
> (^) p := (e, h) -> e*h + h^2; p := (e, h) → e h + h^2
e(1−sin(w+1))
> (^) H(H(H(w))); sin(sin(sin(w + 1) + 1) + 1) Otra forma de hacer este último cálculo es utilizando el operador de composición de funciones, de la siguiente forma:
(f1 @ f2 @ f3 @ ... @ fn)(x); Donde f1, f2, f3, ... , fn son las funciones que se desea componer y x es el valor en el cual sera evaluada la composición. Esta expresión nos produce el mismo resultado que si emplearamos lo siguiente:
f1( f2( f3( ...( fn(x) ) ) ) ); Sin embargo, al usar la primera forma nos evitamos el tener que anidar todas las funciones con paréntesis. Utilizando esta notación, calculemos nuevamente las composiciones anteriores:
> (H@K)(w); sin(e(1−w)^ + 1)
> (^) (K@H)(w); e(1−sin(w+1))
> (^) (H@H@H)(w); sin(sin(sin(w + 1) + 1) + 1) En este último caso, estamos haciendo una composición de la misma función tres veces. Este tipo de operaciones también las podemos realizar utilizando el operador de composición repetida de funciones, cuya notación es:
(f @@ n)(x); Donde f es el nombre de la función, n es el número de veces que se desea componer consigo misma y x el valor en el cual se evaluará dicha composición. Por ejemplo, para hacer la composición de H consigo misma tres veces:
> (^) (H@@3)(w); sin(sin(sin(w + 1) + 1) + 1) Este último resultado es el mismo que obtenemos al usar (H@H@H)(w) o bien H(H(H(w))), solo que se trata de una forma más breve y sencilla. Utilizando esta notación, definiremos la siguiente función:
> (^) Q := w -> (H@@3)(w); Q := H(3) A continuación graficamos esta función para −π ≤ w ≤ π.
> (^) plot(q, w=-Pi..Pi);
1
–3 –2 –1 0 1 2 3 w
De hecho, todas estas formas de composición pueden ser utilizadas con las mismas funciones que propor- ciona Maple al usuario. Por ejemplo, calculemos el valor numérico de:
cos(cos(cos(π^2 ))). Una forma de hacerlo es la siguiente:
> (^) evalf(sqrt(cos(cos(cos(Pi^2))))); 0 , 9023117120 Otra manera es:
> (^) (evalf@sqrt@cos@cos@cos)(Pi^2); 0 , 9023117120 Y existe una opción más:
> (^) (evalf@sqrt@cos@@3)(Pi^2); 0 , 9023117120 Notese que en esta última instrucción utilizamos, además del operador de composición, el operador de composicición repetida. En general, Maple nos permite hacer cualquier composición de funciones, siempre y cuando los datos de salida y entrada de éstas sean compatibles. Por ejemplo, no podemos hacer una composición con las funciones plot y evalf, pues los datos que manejan son diferentes. Téngase esto siempre en cuenta al hacer composiciones.
Considerese la siguiente asignación:
> (^) g := x + sin(x); g := x + sin(x) ¿Cómo podemos, usando g, obtener una función operador con la misma regla de correspondencia y de tal manera que también dependa de la variable x?
> (^) int(1/(a^3 + x^3), x);
ln(a^2 − a x + x^2 ) a^2
3 arctan(
(−a + 2 x)
3 a
a^2
ln(a + x) a^2 Este resultado lo asignaremos a la variable res pero en forma de operador y evaluaremos en: a = .32, x = 2.
> (^) res := unapply( %, a, x);
res := (a, x) → −
ln(a^2 − a x + x^2 ) a^2
3 arctan(
(−a + 2 x)
a
a^2
ln(a + x) a^2 > (^) res(.32, 2.1); 0 ,686781499 + 3, 255208333
3 arctan(4, 041666667
Esta es una forma en la cual podemos retener expresiones generadas como resultado de alguna operación, para poder evaluarlas o manipularlas posteriormente.
Existen varias funciones de Maple que se encuentran disponibles automáticamente cada vez que iniciamos una sesión en este sistema. Todas ellas son conocidas como “funciones predefinidas" y no requieren de ninguna definición por parte del usuario para poder ser utilizadas, simplemente deben ser invocadas con sus respectivos argumentos. Entre ellas se encuentran las siguientes:
A continuación se muestran las funciones trigonométricas soportadas por Maple, así como sus respectivas inversas, también se proporciona una liga a su página de ayuda. A continuación, la tabla 1 muestra las funciones trigonométricas soportadas por Maple, así como sus respectivas inversas.
Nombre Función Inversa
Seno sin(x) arcsin(x)
Coseno cos(x) arccos(x)
Tangente tan(x) arctan(x)
Cotangente cot(x) arccot(x)
Secante sec(x) arcsec(x)
Cosecante csc(x) arccsc(x)
Cuadro 1: Funciones trigonométricas
La tabla 2 muestra sus respectivas funciones hiperbólicas y las inversas de éstas:
Nombre Función Inversa
Seno hiperbólico sinh(x) arcsinh(x)
Coseno hiperbólico cosh(x) arccosh(x)
Tangente hiperbólica tanh(x) arctanh(x)
Cotangente hiperbólica coth(x) arccoth(x)
Secante hiperbólica sech(x) arcsech(x)
Cosecante hiperbólica csch(x) arccsch(x)
Cuadro 2: Funciones trigonométricas hiperbólicas
Nota: la hoja de ayuda de estas funciones puede consultarse en la forma: ?función
Todas estas funciones son calculadas en radianes. Algunas de ellas, particularmente el seno y el coseno, ya habian sido usadas con anterioridad. La forma de utilizar las demás es análoga. Por ejemplo:
> (^) sin(Pi/8);
sin(
π 8
> (^) coth(3.1 + 2.5*I); 1 ,001144421 + 0, 003896610898 I
> (^) diff(arctanh(x), x); 1 1 − x^2 > (^) (sin@cos@arctan)(.2); 0 , 8308206799 Estas funciones también pueden ser utilizadas para hacer composiciones; incluso es valido usar expresiones como la siguiente para calcular inversas:
> (^) sin@@(-1); arcsin Por ejemplo, para evaluar arctan en 0.5, podemos utilizar :
> (^) (tan@@(-1))(.5); 0 , 4636476090
La función exponencial está disponible en Maple como: exp(x). Veamos algunos ejemplos de su uso:
> (^) exp(5); e^5 > (^) evalf( %); 148 , 4131591
> (^) log10(10000); ln(10000) ln(10) Esta última instrucción nos dá el logaritmo en base 10 de 10000; es equivalente a: evalf(log10).
La tabla 3 muestra otras funciones comunmente usadas, disponibles en Maple:
Nombre Función
Raiz cuadrada sqrt(x)
Valor absoluto abs(x)
Límite de f en x limit(f, x)
Derivada de f respecto a x diff(f, x)
Factorial fact(x) ó !x
Máximo entero menor o igual floor(x)
Mínimo entero mayor o igual ceil(x)
Redondeo round(x)
Truncamiento trunc(x)
Máximo y mínimo de una secuencia max(sec), min(sec)
Parte fraccionaria frac(x)
Módulo a mod b
Conjugado de un complejo conjugate(c)
Argumento de un complejo argument(c)
Parte real e imaginaria de un complejo Re(c), Im(c)
Forma polar de un complejo polar(c)
Cuadro 3: Otras funciones disponibles en Maple
Una lista completa de las funciones matemáticas más comúnmente utilizadas, puede ser consultada en la página de ayuda de inifcn. Existen otras funciones predefinidas disponibles en los diversos paquetes de Maple. Por ejemplo, el paquete LinearAlgebra nos proporciona varias de ellas, útiles para operaciones de Álgebra Lineal; mientras que el paquete stats nos proporciona una serie de funciones estadisticas. Una lista completa de los paquetes disponibles puede consultarse en la hoja de ayuda index[package]. Más adelante se tratarán algunas de estas funciones predefinidas.
En Maple es posible definir una funcion sin dar su regla de correspondencia (de la misma forma que podemos usar variables simbólicas). Por ejemplo:
> (^) B := x -> b(x); B := b
Nota: Si la regla de correspondencia no ha sido especificada (como es el caso), no podemos usar el mismo nombre para la función y para la regla de correspondencia (por ejemplo B := x − >B(x)).
Para evaluar la función B en x = 3 , seguimos la regla de evaluación de cualquier función operador:
> (^) B(3); b(3) Podemos combinar funciones de este tipo con funciones predefinidas y con aquellas definidas por el usuario, cuya regla de correspondencia haya sido especificada. Por ejemplo:
> (^) F := x -> x^2; F := x → x^2 > (^) C := x -> B(x) + sin(x) + sqrt(x) - F(x); C := x → B(x) + sin(x) +
x − F(x) > (^) C(2); b(2) + sin(2) +
Entre las funciones predefinidas existen algunas que soportan dos modos de operación. Uno de estos modos es el que hemos estado usando hasta aquí, en el cual pasamos un argumento a la función y ésta nos devuelve el resultado de aplicar la regla de correspondencia que tiene asignada. En el otro modo, al pasar un argumento, la función nos devuelve una expresión matemática que representa la operación solicitada. Esta última es conocida como la “forma inerte" de la función. Por ejemplo, una de las funciones que soporta estos dos modos de operación es limit, que nos calcula el límite de una función alrededor de un punto. La forma de invocar esta función para calcular un límite es:
limit(función, punto); Limit(función, punto); La segunda instrucción corresponde a la forma inerte. En general, en las funciones que soportan una forma inerte, ésta puede ser invocada colocando la primer letra del nombre en mayúscula. Para visualizar la diferencia entre estos dos modos conaiderense las siguientes instrucciones:
> (^) limit(tan(x), x=Pi/4); 1
> (^) Limit(tan(x), x=Pi/4); l´ım x→( π 4
)
tan(x)