Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUIA DE LABORATORIO N 2
FACULTAD DIRECCIN CURSO DOCENTE : INGENIERA DE SISTEMAS Y ELECTRNICA : INGENIERA DE TELECOMUNICACIONES : MTODOS MATEMTICOS DE TELECOMUNICACIONES I : JUAN CARLOS BRONCANO TORRRES
MATERIALES A UTILIZAR:
Para definir una funcin en Maxima se utiliza el operador :=. Se pueden definir funciones de una o varias variables, con valores escalares o vectoriales,
Tambin se puede utilizar el comando define para definir una funcin. Por ejemplo, podemos utilizar la funcin g para definir una nueva funcin y, de hecho veremos que sta es la manera correcta de hacerlo cuando la definicin involucra funciones previamente definidas, derivadas de funciones, etc. El motivo es que la orden define evala los comandos que pongamos en la definicin.
Eso s, aunque hemos definido las funciones f , g y h, para utilizarlas debemos aadirles variables:
Esto plantea varias cuestiones muy relacionadas entre s: cuando llevamos un rato trabajando y hemos definido varias funciones, cmo sabemos cuales eran? y cul era su definicin?. La lista de funciones que hemos definido se guarda en la variable functions a la que tambin puedes
acceder desde el men Maxima Mostrar funciones de manera similar a como accedemos a la lista de variables. En el mismo men, Maxima Borrar funcin tenemos la solucin a cmo borrar una funcin (o todas). Tambin podemos hacer esto con la orden remfunction.
Ya sabemos preguntar cul es la definicin de cada una de ellas. Ms cmodo es, quizs, utilizar la orden fundef que nos evita escribir las variables
Funciones definidas a trozos Las funciones definidas a trozos plantean algunos problemas de difcil solucin para Mxima esencialmente hay dos formas de definir y trabajar con funciones a trozos: a) definir una funcin para cada trozo con lo que tendremos que ocuparnos nosotros de ir escogiendo de elegir la funcin adecuada, o b) utilizar una estructura if-then-else para definirla. Cada uno de los mtodos tiene sus ventajas e inconvenientes. El primero de ellos nos hace aumentar el nmero de funciones que definimos, usamos y tenemos que nombrar y recordar. Adems de esto, cualquier cosa que queramos hacer, ya sea representar grficamente o calcular una integral tenemos que plantearlo nosotros. Maxima no se encarga de esto. La principal limitacin del segundo mtodo es que las funciones definidas de esta manera no nos sirven para derivarlas o integrarlas, aunque s podremos dibujar su grfica. Por ejemplo, la funcin
o dibujarla
Evidentemente, si la funcin tiene muchos trozos, la definicin se alarga; no cabe otra posibilidad. En este caso tenemos que anidar varias estructuras if-then-else o definir tantas funciones como trozos. Por ejemplo, la funcin
Existe una manera alternativa de definir una funcin a trozos veamos como: define la funcin.
Por otra parte, se tiene el paquete pw elaborado por Richard Hennessy, el cual est en proceso de desarrollo, que puede resultar til en ciertos casos.
El paquete pw (cuya versin en la actualidad es 6.4) se puede descargar desde http://sourceforge.net/projects/piecewisefunc/ Esto define la funcin:
Programando en Mxima La elaboracin de programas con el lenguaje de programacin de Maxima permite al usuario definir sus propias funciones. De esta manera se hace posible la automatizacin de secuencias de operaciones que son tiles para abordar la solucin de un determinado tipo de problema. Adems, es posible implementar varias funciones, relacionadas con cierto tema, y guardarlas en un solo archivo que luego se pueda ejecutar sin necesidad de visualizar todo el cdigo elaborado. A tal archivo se le conoce como paquete de funciones. Operadores relacionales y lgicos De manera similar que cualquier lenguaje de programacin Maxima incluye operadores relacionales y lgicos, as como estructuras de control (que se utilizan para controlar el flujo del programa en una rutina). En Maxima, los operadores lgicos pueden ser infijos o prefijos. Un operador recibe el nombre de infijo cuando ste debe escribirse entre los operandos, por ejemplo el operador and cuya sintaxis es p and q, para ciertos operandos p y q. Por otra parte, un operador prefijo es aquel que debe escribirse antes del operando, por ejemplo el operador not cuya sintaxis es not p, para cierto operando p. Cabe destacar que, en Maxima, casi todos los operadores lgicos son infijos y nicamente hay un operador lgico prefijo.
Tngase en cuenta que las expresiones consideradas en los ejemplos de las entradas ( %i1) y ( %i2) equivalen a las expresiones: if 2 = 3 then 1 else false y if 3 = 3 then 1 else false, respectivamente.
Operadores y argumentos Casi todo en Maxima es un objeto de la forma fun(a1; ; an), es decir, una expresin que comprende un operador como fun y los argumentos de ste, a1;.; an. Las funciones op y args permiten averiguar la estructura de las expresiones.
A continuacin, con la primera operacin se obtiene el operador de la expresin previamente definida; y en la segunda, se obtiene una lista con los argumentos de dicha expresin.
Programacin funcional La programacin funcional es la programacin que pone nfasis en el uso de funciones. Maxima incluye las funciones predefinidas apply, map, lambda que permiten apreciar la potencia de la programacin funcional.
Aqu se define la funcin G, la cual es aplicada luego a una lista cuyos elementos pasan a ser los argumentos de G.
En este ejemplo se define una funcin lambda con dos argumentos y un argumento opcional. Luego esta funcin es evaluada en tres argumentos y se obtiene una lista con el resultado esperado, no obstante al evaluar la funcin en ms argumentos se obtiene una lista con tantos elementos como argumentos adicionales hay.
Implementacin del paquete: ejemplo En esta seccin se implementar el paquete ejemplo, que incorporar las funciones triangulo y circunferencia. Aqu se define la funcin triangulo. Esta funcin permite calcular el rea de un tringulo y el baricentro de un conjunto de puntos de R2 , dados. Adems, si los puntos son colineales, devuelve el mensaje: Los puntos son colineales.
Dado el conjunto de puntos del plano{ (1; 2); (3;-1); (2; 3)}, no colineales, la funcin triangulo devuelve el rea y las coordenadas del baricentro del tringulo definido por los puntos dados.
Esto muestra la grfica del tringulo previamente analizado, conjuntamente con el punto que corresponde al baricentro del mismo.
Puesto que, en este caso, los puntos del conjunto {(1; 1); (2; 2); (3; 3)} son colineales, la funcin triangulo devuelve un mensaje indicando ste hecho.
Aqu se define la funcin circunferencia que permite obtener la ecuacin de la circunferencia definida por tres puntos dados.
Dado el conjunto de puntos del plano {(1; 2); (3;-1); (2; 3)}, no colineales, la funcin circunferencia devuelve la ecuacin de la circunferencia definida por estos puntos.
Esto muestra la grfica de la circunferencia previamente analizada, conjuntamente con los puntos que la definen.
10