Date post: | 26-Mar-2016 |
Category: |
Documents |
Upload: | saul-loaiza |
View: | 243 times |
Download: | 4 times |
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
1
Practica II Maxima
Sistema de Ecuaciones
Por : Saúl Olaf Loaiza MeléndezNoviembre 2009
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Practica 2. Solución de Sistemas Lineales de 2 x 2Semana: 13Tiempo: 1 horas/teórico-practico.Objetivo: El estudiante analizara con ayuda de Maxima los distintos tipos de solución de un Sistema lineal de 2 variables y los caracteres o símbolos más utilizados para realizar acciones.
Contenido: Caracteres/Símbolos: Asignación (:) , Separación de instrucciones (;) ,
Omitir los resultados de salida ($), Utilización de la asignación anterior (%), unión de comandos (,), Igualdad para formar Ecuaciones ( = ) y Corchetes para formar vectores ( [ ] ).
Funciones: number, ratsimp, kill, solve, expand, find_root, rhs, lhs, first, second, is.
Paquete: draw
Herramientas: Orden de prioridad de una expresión matemática Métodos para encontrar la solución de un sistema lineal de 2 x 2.
Cuando debas hacer algo que se te resista dí simplemente: Debo hacerlo ahora mismo y no puedo dejarlo para más tarde, y empieza a actuar.
AnónimoCarácter: punto y coma ( ; )Por ejemplo, ya no es necesario que las entradas utilicen el carácter punto y coma para
indicar el fin de línea. Pero el punto y coma en Maxima actúa también como un separador
cuando escribimos varias instrucciones seguidas. Nuestro siguiente ejemplo consistirá en
asignar el valor 32123 a la variable x, el 1234321 a y, para luego solicitar su producto. Para
ello, tecleamos:
ENTRADA: x:32123; y:1234321; x*y;
y obtenemos una salida similar a la siguiente:
2
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Carácter: dos puntos ( : ) Como se puede apreciar, en el lenguaje de Maxima se utiliza el símbolo de dos puntos ( : )
para asignar un valor a una variable. El símbolo de igualdad ( = ) queda reservado para las
ecuaciones.
Carácter: signo de pesos ( $ ) En ocasiones, no nos interesará que aparezcan en pantalla los valores de algunas
operaciones, por ejemplo la asignación de valores a variables intermedias, para lo cual
podemos utilizar el carácter signo de pesos “ $ “ como sustituto del separador “;“. Por
ejemplo, si escribimos:
ENTRADA: x:321123$ y:123321$ x/y
obtenemos una salida similar a la siguiente, mucho más limpia que en el ejemplo anterior,
ya que la asignación no se muestra y solo se observa la operación de la división ya que esta
no tienen el símbolo “$”.
Caractér: coma ( , ) y porcentaje ( %)Como vemos, Maxima opera con aritmética racional y, por defecto, nos devuelve una
fracción como resultado. Si añadimos una coma ( , ) seguida de la orden “numer”, se
obtendrá una expresión numérica, por defecto, con 16 cifras decimales. Por ejemplo,
realizaremos la siguiente resta:
ENTRADA: 5-2/3
Y pediremos cuál es el valor numérico de la salida anterior:
ENTRADA: % , number
3
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
En este ejemplo hemos utilizado por primera vez el operador “%“, que se emplea para
hacer referencia a la última salida. Se puede usar las etiquetas “%iN” y “%oN” para
acceder, respectivamente, el valor de entrada y salida N-ésima (por ejemplo, “%o3” es una
referencia a la salida número 3)
Por último, Maxima puede trabajar, no solamente con números y variables, sino también
con expresiones simbólicas. Por ejemplo, escribimos:
ENTRADA: a+b+a/b
Y a continuación usamos la función de Maxima “ratsimp”, que simplifica expresiones
racionales, expresándolas de forma canónica.
ENTRADA: ratsimp(%)
Precaución: Debemos de ser cuidadosos, pues si las variables utilizadas tienen algún
valor, obtendremos un resultado numérico. Por ejemplo, puesto que en un ejemplo anterior
habíamos definido x e y, tendríamos:
ENTRADA: x+y+x/y
Para poder emplear estas variables de forma simbólica tendremos que eliminar su valor:
ENTRADA: kill(x,y)
4
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Para no volver a teclear la instrucción anterior hacemos referencia a la entrada 11 como se
observa a continuación.
ENTRADA: %i11
En wxMaxima, la entrada “kill(x,y)” se puede introducir mediante la entrada de
menú “Maxima” → “Borrar Variable”. Y existen muchas otras ventajas similares que se
comenzarán a introducir a partir del siguiente apartado.
Sacar partido a las posibilidades de wxMaxima
Hasta este momento, nos hemos limitado a utilizar wxMaxima como un marco para
introducir las órdenes de Maxima, sin utilizar más elementos que las áreas de entrada y
salida. Pero el entorno gráfico de wxMaxima tiene muchas más funcionalidades, algunas de
las cuales se mostrarán en los siguientes párrafos.
Ecuaciones, Sistema de ecuacionesComo sabemos, las ecuaciones se crean en Maxima utilizando el operador igual (“=”). Para
acceder el primer y al segundo miembro se utilizan, respectivamente, las funciones “lhs”
y “rhs” (en inglés, iniciales de “left” y “right hand side”, que podemos traducir
como lado izquierdo y derecho). Pero también se puede utilizar las funciones “first” y
“second” para este propósito.
5
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Como se observa se le asigna a la variable “ec” la ecuación en su forma implícita.
en la entrada cuatro con el condicional is (parecido al ocupado en programación if),
verificamos si ambos lados es la misma expresión.
A las ecuaciones se les pueden sumar y multiplicar expresiones simbólicas (y también se
pueden sumar ecuaciones entre sí):
Como sabemos, para su resolución podemos utilizar la función “solve” (menú
“Ecuaciones, Resolver . . . “ o botón [Resolver] en wxMaxima). De cualquier manera,
existirán muchas ocaciones en las que no es posible obtener una solución de forma
simbólica. En estos casos, podemos optar por una resolución numérica, por ejemplo
mediante la función “find_root” (a la que podemos acceder a través de la entrada
“Ecuaciones” → “Resolver numéricamente … “, introduciendo como parámetro la
6
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
ecuación y la variable respecto ala cual resolver, además de una cota inferior y superior de
la solución.
Los sistemas de ecuaciones se escriben, simplemente, como listas de ecuaciones y, en el
caso de sistemas lineales, se pueden resolver mediante la orden “solve” (teniendo en
cuenta que, en caso de ambigüedad, se debe explicitar la lista de las variables a resolver):
Como se puede observar, los sistemas indeterminados se resuelven mediante la
introducción de un parámetro, que se denota de la forma %rN, siendo N un número natural
que lo identifica de forma única.
En cuanto a ecuaciones y sistemas no lineales, “solve” intenta resolverlos de forma
simbólica, pero cuando no es posible, entra en funcionamiento (sin que el usuario sea
consciente de ello) una función llamada “algsys”, que trata de obtener de forma
7
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
numérica la solución. Cuando los sistemas (y ecuaciones) no lineales son demasiado
complicados, “algys” no consigue su objetivo y devolverá un mensaje de error
quejándose de su fracaso. Los tres ejemplos siguientes ilustran todas las posibilidades
(resolución simbólica, numérica y no resolución):
Practica 2: Maxima solución y graficación de ecuaciones.
8
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Resolver los siguientes sistemas utilizando las funciones y comandos básicos de Maxima
para graficar y verificar las diferentes condiciones cuando hay una única solución, finita
solución y sin solución.
Caso 1: Solución Infinita.
ENTRADAS EN MAXIMA: Se asigna el sistema en forma vectorial
Como podemos observar es un sistema indeterminado, Maxima trata de dar una solución ya que este sistema sus ecuaciones son iguales.Al graficar en Maxima podemos verificar este resultado. Para esto tenemos que cargar el paquete draw para poder graficar funciones implícitas con los siguientes comandos:
Si aparece en pantalla la siguiente línea es que se ejecuto con normalidad el paquete, en caso contrario se tendría que instalar.ENTRADA:draw2d( grid=true, line_type=solid, line_width=2, key="2*x+y=5", color="blue", implicit(2*x+y=5,x,0,3,y,0,3), line_type=dots, line_width=1, key="4*x+2*y=10", color="red", implicit(4*x+2*y=10,x,0,3,y,0,3), surface_hide=true,
9
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
title="Caso 1. La misma recta" )$Nos da la siguiente gráfica:
0
0.5
1
1.5
2
2.5
3
0 0.5 1 1.5 2 2.5 3
Caso 1. La misma recta
2*x+y=54*x+2*y=10
Practica y observa la solución de los siguientes casos:Caso 2: Solución única.
ENTRADA 1: s2:[2*x+y=5, x-y=1, x+2*y=4];
ENTRADA 2: solve(s2,[x,y]);
ENTRADA 3: draw2d( grid=true, line_type=solid, key="2*x+y=5", color="blue", implicit(2*x+y=5,x,0,4,y,0,4), line_type=dots, key="x-y=1", color="red", implicit(x-y=1,x,0,4,y,0,4), line_type=solid, key="x+2*y=4", color="green", implicit(x+2*y=4,x,0,4,y,0,4), title="Caso 2. Unica solucion" )$
10
Módulo: MaximaElaboró: Saúl Olaf Loaiza MeléndezFecha de revisión: 24-noviembre-2009
Archivo: practica02.docPágina: http://mateinfo.ning.com/E-Mail: [email protected]
Caso 3: Sin solución
ENTRADA 1: s3:[2*x+y=5, 2*x+y=7];
ENTRADA 2: solve(s3,[x,y]);
ENTRADA 3: draw2d( grid=true, line_type=solid, key="2*x+y=5", color="blue", implicit(2*x+y=5,x,0,4,y,0,4), line_type=dots, key="2*x+y=7", color="red", implicit(2*x+y=7,x,0,4,y,0,4), title="Caso 3. Sistema Inconsistente" )$
11