/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 0.8.5 ] */ /* [wxMaxima: comment start ] wxMaxima 0.8.1 http://wxmaxima.sourceforge.net Maxima 5.19.2 http://maxima.sourceforge.net Using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (aka GCL) Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] OCW - Universidad de Murcia - Matemáticas - J. Asensio, A. Avilés, S. Sánchez-Pedreño [wxMaxima: comment end ] */ /* [wxMaxima: title start ] Avanzando con wxMaxima: operaciones, listas, funciones. Matemáticas OCW UNIVERSIDAD DE MURCIA [wxMaxima: title end ] */ /* [wxMaxima: comment start ] ABRIR Y CERRAR CELDAS (RECORDATORIO) - Para abrir una nueva celda de "input" usa F7 o el icono "rueda dentada"(en algunas versiones). - Para abrir una nueva celda de TEXTO usa F6 o el icono "hoja con texto"(en algunas versiones). - Puedes ocultar el "output" de una celda de "input" o una celda de texto pinchando el triangulito que tienen arriba a la izquierda. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] ASIGNACIÓN Y DESASIGNACIÓN DE VALORES A LAS VARIABLES (RECORDATORIO) Para asignar un determinado valor a una variable x se ha de hacer, no con la igualdad, sino con los dos puntos ":". La entrada x:45 asigna el valor 45 a la variable x; obtendremos una salida igual a dicho valor. Si, a continuación asignamos a la variable y el valor 14 de la misma forma, la entrada x*y producirá una salida igual al producto de dichos valores. Una vez asignado un valor a una variable, el programa utilizará siempre dicho valor. Para evitar esta situación el comando "kill(x)" eliminará el valor asignado a la variable x. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] OPERACIONES BÁSICAS. PRIORIDAD. Las operaciones aritméticas básicas en máxima son: suma +, resta -, producto *, cociente /, potencia ^* (también **) Independientemente del orden en el que aparezcan, Maxima ejecuta las potencias antes que las demás operaciones y el producto y el cociente antes que la suma y la resta. Esta prioridad la podemos alterar usando paréntesis. Es frecuente olvidar el signo de la multiplicación (*) cuando se escribe con variables; es decir, a menudo escribimos en Maxima el producto xy, cuando lo que se desea es x*y. Presta atención a este hecho. También debes tener muy presente la prioridad de las operaciones e introducir correctamente los paréntesis, para que la operación sea realmente interpretada como lo que deseas escribir. CALCULA 1+3*2^3, 2^(3*3)+1, (1+3)*2^3, 1+2/3^2, (1+2)/3^2 Y 1+(2/3)^2 Y COMPRUEBA LOS RESULTADOS. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] POTENCIAS DEL NÚMERO e (para maxima %e) Las potencias de base el número e se pueden calcular directamente (con %e^3) pero también utilizando la función "exp()" CALCULA e^3 DIRECTAMENTE Y UTILIZANDO exp(3) Y COMPRUEBA LOS DOS RESULTADOS [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] SIMPLIFICAR, EXPANDIR Y REDUCIR EXPRESIONES Las opciones "simplify", "factor", "expand" del menú "Simplificar" se utilizan para simplificar, factorizar o expandir expresiones. SIMPLIFICA EL NÚMERO 768/36. SIMPLIFICA LA EXPRESIÓN (X^4-1)/(X^2+1). FACTORIZA X^12-1 Y, A CONTINUACIÓN, EXPANDE EL RESULTADO OBTENIDO. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] LISTAS Una forma muy útil de representar series de datos es utilizando listas. Maxima también trabaja con listas. Si queremos generar una lista con los datos a, b, c y dar un nombre a esa lista, por ejemplo, "lista1" lo podemos hacer con el comando "lista1:[a,b,c]". GENERA UN LISTA CON 5 NÚMEROS DISTINTOS. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Los elementos de una lista que hayamos generado los podemos recuperar mediante los comandos "first(nombrelista)", el primero, "second(nombrelista)", el segundo, etc. y "last(nombrelista)" el último. OBTÉN EL TERCER ELEMENTO DE LA LISTA QUE HAYAS GENERADO ANTERIORMENTE. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] También lo podemos hacer con el comando "nombrelista[ordenelemento]" (el orden del elemento entre corchetes). OBTÉN DE ESTA MANERA EL TERCER ELEMENTO DE LA LISTA GENERADA. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Las operaciones básicas suma, resta, producto, cociente, potencias y radicales pueden actuar también sobre las listas generadas. COMPRUEBA EL RESULTADO DEL COMANDO "2^nombrelista". GENERA OTRA LISTA CON EL MISMO NÚMERO DE ELEMENTOS Y COMPRUEBA EL RESULTADO DE "nombrelista1*nombrelista2" y "nombrelista1/nombrelista2". [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Las listas que hayamos generado las podemos manipular de diversas formas: -Podemos generar una nueva lista que resulte de eliminar uno de los datos de otra mediante el comando "nombrenuevalista:delete(n,nombrelista) -Podemos "pegar" dos listas generadas con el comando "append(lista1,lista2)" -Podemos añadir un nuevo elemento al principio de una lista con el comando "cons(elemento,lista)" ELIMINA EL TERCER ELEMENTO DE LAS DOS LISTAS GENERADAS Y CONSTRUYE UNA NUEVA LISTA QUE SEA EL RESULTADO DE UNIR LAS RESULTANTES. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Maxima puede generar listas a partir de una determinada expresión si la variable va tomando un intervalo de valores enteros. Para ello se utiliza el comando "makelist(expresión,variable,valor inicial,valor final)". También podemos para ello la opción "Make List" del menú "Álgebra". Por ejemplo, comprueba lo que ocurre al ejecutar makelist(z^n,n,1,6) GENERA UNA LISTA CON LOS CUBOS DE LOS 10 PRIMEROS NÚMEROS NATURALES Y SUS 10 OPUESTOS. CALCULA LA RAÍZ CÚBICA DE LOS ELEMENTOS DE LA LISTA ANTERIOR. CALCULA, AHORA, LA RAÍZ CUADRADA DE LA LISTA DE LOS CUBOS Y COMPRUEBA QUÉ OCURRE. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] FUNCIONES Ya sabemos que maxima trabaja con algunas de las constantes matemáticas de uso frecuente: el número pi, el número e (base de los logaritmos naturales), la unidad imaginaria "i" (raíz cuadrada de -1) y la razón aúrea phi. También trabaja con algunas de las funciones más habituales: valor absoluto "abs(x)", exponencial de base e "exp(x)", parte entera "entier(x)" ("floor(x)"), redondeo "round(x)", logaritmo neperiano "log(x)" y las funciones trigonométricas. Una relación detallada de estas funciones se pueden encontrar en los manuales de Maxima o en el "Manualico" de la página web http://webs.um.es/mira/maxima/Indice.html APLICA LAS FUNCIONES PARTE ENTERA Y REDONDEO A LOS VALORES SQRT(2), SQRT(3), PI Y e Y EXPLICA EN UN CUADRO DE TEXTO, EN BASE A LOS RESULTADOS OBTENIDOS, QUÉ DIFERENCIA HAY ENTRE ESTAS DOS FUNCIONES. ¿QUÉ OCURRE SI APLICAMOS LA FUNCIÓN REDONDEO AL VALOR 7/2? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Con el comando "apply(función,nombrelista)", o la opción "Apply to List" del menú "Álgebra", podemos aplicar una determinada función a todos los elementos de una lista. APLICA LAS FUNCIONES min, max, "+" Y "*" (en este caso hay que escribir las comillas) A ALGUNA DE LAS LISTAS QUE SE HAYAN GENERADO Y EXPLICA EN UN CUADRO DE TEXTO LOS RESULTADOS OBTENIDOS. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Además de las funciones predefinidas en Maxima, nosotros podemos definir otras que vayamos a utilizar en nuestra sesión de trabajo. Para hacerlo utilizaremos el operador ":=" (recordad que : se utilizaba para asignar valores y que = se utiliza en las ecuaciones. Asi un comando de la forma "f(x):=(x+1)/(x-1)" asignará el nombre de "f(x)" a la función que a cada número real x le asigna el valor (x+1)/(x-1). Ejecutando después por ejemplo f(2) obtendremos el valor de la función f(x) en el punto x=2. Podremos componer funciones f y g mediante el comando "h(x):=g(f(x))" DEFINIR LA FUNCIÓN ANTERIOR f(x), DEFINIR LA NUEVA FUNCIÓN COMPOSICIÓN DE f CON f Y CALCULAR EL VALOR DE DICHA FUNCIÓN PARA VARIOS NÚMEROS REALES. ¿QUÉ SE HA OBTENIDO? ¿CUÁNTO VALE ESA FUNCIÓN PARA X=1? [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Para dibujar funciones se utiliza el comando plot2d(función, [variable x, x_min,x_max],[y,y_min,y_max]) Ten en cuenta que el rango de y no es preciso especificarlo, en caso de no hacerlo Maxima toma el rango necesario para que se vea toda la gráfica. Ten en cuenta además que eso puede deformar el aspecto de la gráfica. DIBUJA VARIAS DE LAS FUNCIONES CONOCIDAS [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] FUNCIONES DEFINIDAS A TROZOS Con el comando "f(x):= "if" condición "then" expresión "else" expresión es posible generar funciones definidas a trozos (en las que la expresión que las define depende de los valores de la variable). En inglés, "else" puede traducirse como "si no" o "en caso contrario". REPRESENTA GRÁFICAMENTE LA FUNCIÓN fun(x) DEFINIDA POR EL SIGUIENTE COMANDO: fun(x) := if x < 1 then 1-x else log(x) DEFINIR LA FUNCIÓN A(x)=x SI x ES MAYOR O IGUAL QUE CERO Y A(x)=-x SI x ES NEGATIVO [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] Como veremos más adelante, las funciones definidas a trozos darán problemas para calcular límites, derivadas e integrales. Una opción para resolverlo puede ser definir las distintas funciones que corresponden a cada uno de los trozos y tratarlas individualmente para algunos cálculos. [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] El comando anterior sirve para definir una función con dos opciones para la variable (que tenga dos trozos), pero también se puede utilizar para definir funciones con más de dos trozos, en la forma funcion(x) := if condición1 then expresión1 else if condición2 then expresión2 else if condición3 then expresión3 ... ¿CÓMO LO UTILIZARIAS PARA INTRODUCIR UNA FUNCIÓN CON VALOR X^1+1 PARA LOS NÚMEROS NEGATIVOS, X^2 PARA LOS COMPRENDIDOS ENTRE 0 Y 5 Y, POR ÚLTIMO 1-X^2 PARA LOS NÚMEROS MAYORES QUE 5? DEFINE DICHA FUNCIÓN, DALE VALORES DE CADA UNO DE ESTOS INTERVALOS Y COMPRUEBA QUE ES CORRECTA LA DEFINICIÓN REALIZADA. Nota: maxima no reconoce condiciones del tipo a < x < c. Éstas deben escribirse como a < x and x < b. [wxMaxima: comment end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$