33
MANUAL WXMAXIMA Andrés Buitrago POLITÉCNICO GRANCOLOMBIANO ALGEBRA LINEAL FACULTAL DE INGENIERÍA Y CIENCIAS BÁSICAS BOGOTÁ, D.C

52677950 Manual Wxmaxima

Embed Size (px)

Citation preview

Page 1: 52677950 Manual Wxmaxima

MANUAL WXMAXIMA

Andrés Buitrago

POLITÉCNICO GRANCOLOMBIANOALGEBRA LINEAL

FACULTAL DE INGENIERÍA Y CIENCIAS BÁSICASBOGOTÁ, D.C

Page 2: 52677950 Manual Wxmaxima

CONTENIDO

ENTORNO MAXIMA

Introducción

Operaciones básicas

Operaciones básicas trigonométricas

MATRICES

Definición de funciones

Operaciones con matrices

Ejercicios propuestos

VECTORES

Definicion de vectores en maxima

Operaciones

Definiciones de funciones

Graficas

ENTORNO MAXIMA

Page 3: 52677950 Manual Wxmaxima

1. El entorno de wxMàxima, puede ser descrito como una calculadora ciéntifica, cuyo uso puede ir desde operaciones basicas como suma, resta, multiplicacion hasta complejas operaciones en calculo o algebra que facilita procesos. Su manejo esta definido por el ingreso comandos, dónde se debe ingresar y definir las variables que usarán para la solucion de operaciones.

El programa maxima se puede descargar de la pagina http://maxima.sourceforge.net/

OPERACIONES

2. OPERACIONES BASICAS

Para operar con maxima podemos declarar variables y asignarles a cada una de ellas un valor, o usar numeros como una calculardora normal. El uso de variables en maxima permite guardar un la memoria resultado de operaciones anteriores y llamarlas en el uso de operaciones mas complejas para no repetir el proceso nuevamente.

Veamos como se debe hacer para realizar operaciones básicas como suma resta multiplicación o división declarando variables.

Iniciamos asignando valores a las variables, usamos X y Y como variables y le asignamos los valores 3 y 8 respectivamente, para poder terminar la operación se debe cerrar presionando shift+enter.

Una vez asignados lo valores a las variables maxima nos devuelve el valor como resultado (%0), para deshacer la asignacion de variables se debe ingresar kill(la variable)

Page 4: 52677950 Manual Wxmaxima

Después podemos operar normalmente

Veamos otro tipo de operaciones usando raíz, exponente, logaritmo

Asignaremos al nuevo valor de x el numero 1329 y realizaremos diversas operaciones

Exponente

Exponente al cuadrado

Se puede multiplicar por el mismo valor o se usa el simbolo ^

Exponente a una potencia diferente de 2

Para poder elevar a otra potencia se usa el simbolo ^ y se ingresa el número de la pontencia que se desea calcular

Otro ejemplo

Raiz cuadrada

Raiz cuadrada

Page 5: 52677950 Manual Wxmaxima

Para sacar raiz cuadrada hay que usar el comando sqrt y la variable entre paréntesis, para poder el resultado numerico es necesario usar una coma y la palabra numer.

Raiz

Para calular otra raiz diferente a la cuadrada es necesario elevar el valor a la 1/y donde y es el valor de la raiz a calcular.

Para calcular la raiz quinta se ingresa de la siguinte forma

Notese que el valor en fraccion que se esta elevado esta entre parentesis.

Operaciones basicas trigonometricas

Existen variables ya preestablecidas en el programa, como por ejemplo pi (Π)

Ejemplo, el en la variable t le asignaremos 3pi/5.

Ahora evaluemos las exprexiones sen(x), cos(x), sec(x) y tan(x)

Page 6: 52677950 Manual Wxmaxima

Tambien podemos evaluar las expresiones sint^x y x^cost

MATRICES

4. Funciones

Función Solve y linsolve

Solve

Para resolver un sistema de ecuaciones, basta con invocar la función solve y escribir dentro de paréntesis por un lado las ecuaciones

[ecuacion1, ecuacion2,…, ecuación N]

Dentro de corchetes y separadas por comas, luego de esto, se escriben dentro de otros corchetes las variables que buscamos despejar, también separadas por comas

[variable1, variable2,…, variable N]

Page 7: 52677950 Manual Wxmaxima

El sistema nos arroja los valores de las variables que satisfacen el sistema de ecuaciones.

Ejemplo

Resolvamos el siguiente sistema de ecuaciones

a. 7x- 2y + 3z = 10x - 5y + 12z = 223x – 3y + z = 7

Ingresamos el sistema de ecuaciones a máxima teniendo en cuenta que se antepone * cada vez que vayamos a multiplicar, usamos paréntesis para separar operaciones y agregamos las variables x, y, z que son los valores a encontrar

Ejemplo

7x- 2y + 3z = 10 es igual en máxima 7*x-2*y+3*z=10

Veamos otros ejemplos.

b. x – 8y + 19z = 10121x + 15y – 2z = 7232x – y – 2z = 7

c. -3x +2y – 13z = 23x - √5y +33z = 43√2x - √3y + √6z =√7

(%o56)[[x=(sqrt(5)*(((2920590537869*sqrt(2)*3^(3/2)+21275594282512)*sqrt(6)-21527851975394*sqrt(3)-3467622591765*2^(7/2))* sqrt(7)+(306607714810790*sqrt(3)+23443213906931*2^(9/2))*sqrt(6)-211421189623133*2^(3/2)*sqrt(3)-1075913572102224)+ ((-9880203534073*2^(3/2)*sqrt(3)-48231036443178)*sqrt(6)+12924551953036*3^(3/2)+14488534869605*2^(5/2))*sqrt(7)+(-

Page 8: 52677950 Manual Wxmaxima

674209636304852*sqrt(3)-420799623446677*2^(3/2))*sqrt(6)+22327251184901*2^(5/2)*3^(5/2)+1417934967121440)/( 56761312389112),y=(sqrt(5)*(((984038755933*2^(5/2)*sqrt(3)+9518367189414)*sqrt(6)-3742672579600*3^(3/2)- 3299098501495*2^(5/2))*sqrt(7)+ (140492596963432*sqrt(3)+84599185142771*2^(3/2))*sqrt(6)-4454530223203*2^(9/2)*3^(3/2)-505423784610568)+((-2999229431251*sqrt(2)*3^(3/2)-22049101511284)*sqrt(6)+14203728013934*sqrt(3)+193449619695*2^(15/2))*sqrt(7)+(-300893872098266*sqrt(3)-95419975560053*2^(5/2))*sqrt(6)+156548867710859*2^(3/2)*sqrt(3)+992793370469088)/( 28380656194556),z=-(sqrt(5)*( ((810822672761*sqrt(2)*sqrt(3)+1981024160760)*sqrt(6)-504397050538*3^(3/2)-292666982485*2^(7/2))*sqrt(7)+ (27527135121434*sqrt(3)+4312315253755*2^(7/2))*sqrt(6)-1766056986683*2^(3/2)*3^(5/2)-92772736758800)+((-298595743967*2^(3/2)*3^(3/2)-4345900252646)*sqrt(6)+4577388886276*sqrt(3)+1438773329835*2^(5/2))*sqrt(7)+(-3004109270884*sqrt(3)-38387620450739*2^(3/2))*sqrt(6)+22287542043893*2^(5/2)*sqrt(3)+122164738802888)/( 6761312389112)]]

Dada la extensión de estas respuestas y su poca utilidad para la comprensión del ejercicio, se agrega a la expresión un, numer; con lo cual, el programa nos entrega una estimación numérica lo más cercana posible al valor real.

La función Linsolve, resuelve la lista de ecuaciones simultáneas para una lista de variables. Exige expresiones polinómicas lineales.

Por otro lado la función Solve, resuelve una ecuación despejando alguna variable, o trayendo la sentencia linsolve para solucionar un sistema de ecuaciones lineales de forma trivial.

Función Coefmatrix y Addcol

La función coefmatrix sirve para construir la matriz de un sistema de ecuaciones únicamente con los coeficientes de las variables.

Para construir la matriz ingresamos las variables igual que con la función solve.

Ejemplo

Page 9: 52677950 Manual Wxmaxima

Para construir la matriz del siguiente sistema de ecuaciones

7x- 2y + 3z = 10x - 5y + 12z = 223x – 3y + z = 7

x – 8y + 19z = 10121x + 15y – 2z = 7232x – y – 2z = 7

-3x +2y – 13z = 23x - √5y +33z = 43√2x - √3y + √6z =√7

La función addcol, sirve para agregarle una columna a una matriz bien sea al lado izquierdo o derecho. De esta forma podemos construir las matrices extendidas de estos 3 sistemas agregando los valores de los términos independientes como una columna al final de las matrices creadas.

Para ello escribimos la función addcol seguida de un par de paréntesis donde colocamos entre corchetes el origen de la matriz creada, seguida de una coma y un par de corchetes que contengan los valores que queremos adicionar en la nueva columna

7x- 2y + 3z = 10x - 5y + 12z = 223x – 3y + z = 7

Page 10: 52677950 Manual Wxmaxima

x – 8y + 19z = 10121x + 15y – 2z = 7232x – y – 2z = 7

-3x +2y – 13z = 23x - √5y +33z = 43√2x - √3y + √6z =√7

Para las siguientes funciones usaremos las matrices

Operador “.” (a.b)

El operador “.” realiza la multiplicación matricial y el producto escalar. Cuando los operados son dos matrices de mismas dimensiones Mnxn

- A.B

Page 11: 52677950 Manual Wxmaxima

InvertDevuelve la inversa de la matriz. La implementación actual no es eficiente para matrices de orden grande.

- A-1 (invert (A))

Ejercicio

Resuelva el sistema de ecuaciones AX = b, donde usando la inversa

b/A = X

Encuentre la inversa de A (1/A) (Mediante la función “invert”)

Haga la multiplicación matricial entre la inversa de A y la matriz b para hallar el valor de X

Page 12: 52677950 Manual Wxmaxima

TransposeCalcula la transpuesta de M. Si M es una matriz, el valor devuelto es otra matriz N tal que N[i,j] = M[j,i].

- At (transpose

Determinant:Calcula el determinante de M por un método similar al de eliminación de Gauss.

- det (A)

Columnop (M, i, j, x)Si M es una matriz, devuelve la matriz que resulta de hacer la operación columna C i <- C i - x*C j.

Rowop (M, i, j, x)Si M es una matriz, devuelve la matriz que resulta de realizar la transformación R i <- R i – x*(R j) con las filas R i y R j.

Columnswap (M, i, j)Si M es una matriz, intercambia las columnas i y j.

Rowswap (M, i, j)Si M es una matriz, intercambia las filas i y j.

Page 13: 52677950 Manual Wxmaxima

Adjoint (M)Devuelve el adjunto de la matriz M. La matriz adjunta es la transpuesta de la matriz de cofactores de M.

Echelon (M)Devuelve la forma escalonada de la matriz M, obtenida por eliminación gaussiana. La forma escalonada se calcula a partir de M mediante operaciones elementales con sus filas.

Matrix (fila_1, ..., fila n)Devuelve una matriz rectangular con las filas fila_1, ..., fila n. Cada fila es una lista de expresiones. Todas las filas deben tener el mismo número de miembrosMinor (M, i, j)Devuelve el menor (i, j) de la matriz M. Esto es, la propia matriz M, una vez extraídas la fila i y la columna j.Submatrix (M, j 1, ..., j n)Devuelve una nueva matriz formada a partir de la matriz M pero cuyas filas i 1, ..., i m y columnas j 1, ..., j n han sido eliminadas.

TriangularizeDevuelve la forma triangular superior de la matriz M, obtenida por eliminación gaussiana. El resultado es el mismo que el devuelto por echelon

Ejemplos.

Usando el comando addcol se construye una matriz a en MAXIMA que contenga todas las columnas de A, y al final la columna B.

Page 14: 52677950 Manual Wxmaxima

Usamos la función Triangularize para triangular la matriz a

- Realicemos las siguientes operaciones:

o a:rowop(a,3,4,a[3,4]/a[4,4]);

o a:rowop(a,2,4,a[2,4]/a[4,4]);

o a:rowop(a,1,4,a[1,4]/a[4,4]);

Page 15: 52677950 Manual Wxmaxima

o a:rowop(a,2,3,a[2,3]/a[3,3]);

o a:rowop(a,1,3,a[1,3]/a[3,3]);

Page 16: 52677950 Manual Wxmaxima

o a:rowop(a,1,2,a[1,2]/a[2,2]);

Observamos el mismo proceso de Gauss-Jordán, realizando operaciones de fila usando los pivotes para transformar en ceros los demás elementos de sus respectivas columnas

- Ahora comparamos usando la función linsolve

Page 17: 52677950 Manual Wxmaxima

El comando linsolve, encuentra los valores que satisfacen el sistema de ecuaciones, los comandos de operación de fila “rowop” consiguen el mismo resultado pero es preciso ejecutarlos sobre una matriz triangular el número de veces requerido para lograr los ceros de la triangular superior.

Ejercicio

1. Guarde en la A la matríz

, luego escriba el comando:

A[1,1]*(-1)^(1+1)*\determinant(minor (A,1,1))+A[1,2]*(-1)^(1+2)*\determinant(minor (A,1,2))+A[1,3]*(-1)^(1+3)*\determinant(minor (A,1,3))+A[1,4]*(-1)^(1+4)*\determinant(minor (A,1,4));

- Comparamos con la función determinant (A)

El valor obtenido es el mismo, con la diferencia de que en el segundo caso solo se ingresa el comando determinant, mientras que en el proceso seguido en el paso anterior se calcularon las determinantes de 4 menores de la matriz.

Ejercicio

1) Al intercambiar las filas 1 y 3 de la matriz A, el valor del determinante cambia de signo?

Determinante (A)

Determinante (A, cambiando las filas 1 y 3)

Page 18: 52677950 Manual Wxmaxima

Como vemos si se cambia el signo del valor del determinante.

2) El determinante de AB es el determinante de A por el determinante de B?

Det (A) =

Det (B) =

Det(A)*Det(B) =

Det (A*B) =

En este caso el valor es el mismo y con el mismo signo

3) Al realizar -3 la fila 3 más la fila 1 y el resultado ponerlo en la fila 1El valor del determinante de la matriz A no cambia

El resultado de modificar la fila 1, sumándole el resultado de multiplicar la fila 3 por (-3)

El determinante de esta nueva matriz es

El valor de la determinante de esta nueva matriz es igual al de la matriz A

4) Al realizar el cambio anterior pero entre columnas el resultado no cambiaAl efectuar las operaciones de columna a la matriz A obtenemos la matriz siguiente

Hallando la determinante de esta matriz obtenemos:

El valor de la determinante es el mismo.

Page 19: 52677950 Manual Wxmaxima

VECTORES

Defina los vectores u, v y w en máxima usando la función entermatrix (1,n) con n=3

Ejercicios

1. Calcular 5au – bw + 2v

a. Ejecute cada multiplicación con el operador “*”

b. Ejecute las sumas con los operadores correspondientes, entre los resultados de la multiplicación

2. Comprobar las siguientes propiedades

a. (u+v)+w = u+(v+w)

i. Ejecútense las operaciones tal como aparecen

Page 20: 52677950 Manual Wxmaxima

ii. Dado que el resultado de ejecutar ambas operaciones es exactamente el mismo concluimos que la propiedad se cumple

b. a(bw) = (ab) w

i. Ejecute las operaciones tal como aparecen

ii. Dado que el resultado es el mismo decimos que la propiedad se cumple

c. b(u+v) = bu + bv

i. Ejecute las operaciones tal como aparecen

ii. Dado que los resultados son iguales aceptamos que se cumple la propiedad

3. Calcular la norma y el ángulo de los vectores u, v y w

Normal de u

Norma de V

Page 21: 52677950 Manual Wxmaxima

Norma de W

4. Calcular la norma y el ángulo del vector u+v y verifique la desigualdad triangular

Norma u+v

Desigualdad triangular

Angulo

Page 22: 52677950 Manual Wxmaxima

5. Verificar las siguientes propiedades del producto punto

a. u.w = w.u

i. Ejecute las operaciones tal como aparecen

ii. El resultado es el mismo, el producto punto es conmutativo

b. w.(u+v) = w.u + w.v

i. Ejecute las operaciones en Máxima tal como aparecen

ii. El resultado es el mismo, queda demostrada la propiedad

c. u.v = u.w entonces v=w

i. Dado que los valores son distintos asumimos que v y w son distintos

6. Calcular el ángulo entre

Page 23: 52677950 Manual Wxmaxima

a. u y v

b. v y w

7. Calcular

a. Proywu

b. ProyuV

8. Producto cruz (~)

Page 24: 52677950 Manual Wxmaxima

a. Funcion load (vect)

i. El paquete vect define funciones para análisis vectorial. Para cargar el paquete en memoria se debe hacer load ("vect") y con demo ("vect") se presenta una demostración sobre las funciones del paquete. El paquete de análisis vectorial puede combinar y simplificar expresiones simbólicas que incluyan productos escalares y vectoriales, junto con los operadores de gradiente, divergencia, rotacional y laplaciano. La distribución de estos operadores sobre sumas o productos se gobierna por ciertas variables, al igual que otras transformaciones, incluida la expansión en componentes en cualquier sistema de coordenadas especificado. También hay funciones para obtener el potencial escalar o vectorial de un campo. El paquete vect contiene las siguientes funciones: vectorsimp, scalefactors, express, potential y vectorpotential. El paquete vect declara el operador . como conmutativo.

b. Realice las siguientes operaciones

i. u x v

ii. v x w

Page 25: 52677950 Manual Wxmaxima
Page 26: 52677950 Manual Wxmaxima

c. Comprobar las siguientes propiedades

i. uxv=-vxu

Page 27: 52677950 Manual Wxmaxima

• Se observa que el resultado de este producto cruz es el mismo que el de uxv (del punto anterior) con los signos cambiados.

ii. u x (v x w) = (u.w)v - (u.v)w

Page 28: 52677950 Manual Wxmaxima

El resultado obtenido mediante las dos operaciones es el mismo, por tanto queda demostrada la igualdad de la propiedad

iii. v.(u x w) = det ((2, √5, 209), (12, 105, √1234), (√5, √11, √23))

El resultado de hacer el determinante de la matríz que contine los 3 vectores es el mismo valor que el de hacer v(uxw) pero con signo contrario

Graficas

9. Explique para que sirve el comando load (“draw”)

El módulo “draw” es relativamente reciente en la historia de Maxima y permite dibujar gráficos en 2 y 3 dimensiones con relativa comodidad. Se trata de un módulo adicional que hay que cargar previamente para poder usarlo.Draw 3d Una vez cargado el módulo draw, podemos utilizar la órden draw3d para dibujar 3 dimensiones o drawXrange y Yrange son opciones variables que por defecto se ajustan automáticamente al objeto que se esté representandoVector dibuja vectores tanto en dos como en tres dimensiones. Para dar un vector hay que fijar el origen y la dirección.Head_length indica, en las unidades del eje x, la longitud de las flechas de los vectores. Valor por defecto: 2. Esta opción sólo es relevante para objetos de tipo vector.Head_angle indica el ángulo, en grados, entre la flecha y el segmento del vector. Valor por defecto: 45. Esta opción sólo es relevante para objetos de tipo vector.

Page 29: 52677950 Manual Wxmaxima

10. Grafique el vector

a. U

0 0.5 1 1.5 2 0 0.5

1 1.5

2

0

50

100

150

200

Vector U

b. V

0 2

4 6

8 10

12 0 20

40 60

80 100

0 5

10 15 20 25 30 35

Vector V

c. U+V

Page 30: 52677950 Manual Wxmaxima

0 2

4 6

8 10

12 14 0

20 40

60 80

100

0

50

100

150

200

U+V

d. W

0 0.5

1 1.5

2 0 0.5

1 1.5

2 2.5

3

0 0.5

1 1.5

2 2.5

3 3.5

4 4.5

Vector W

e. aV+bW

Page 31: 52677950 Manual Wxmaxima

0 5

10 15

20 25

30 35

40 45 0

50 100

150 200

250 300

350

0 20 40 60 80

100 120

aV+bW

11. Graficar

Implicit nos permite dibujar el lugar de los puntos que verifican una ecuación en el plano

Parametric El programa wxMaxima nos permite también representar curvas en forma paramétrica, es decir, curvas definidas como (x(t); y(t)) donde el parámetro t varía en un determinado intervalo compacto [a; b]. Para ello, dentro del comando plot2d añadimos “parametric” de la forma siguiente: plot2d([parametric,x(t),y(t),[t,a,b]]) gráfica de la curva (x(t); y(t)) en [a; b]

a. Los planos

i. x+y-z=2

• Defina la función despejando la variable z

• Z=x+y-2

ii. 12x - 2y - 5z = 17

• Despejando z obtenemos

• Z=(12x-2y-17)/5

Page 32: 52677950 Manual Wxmaxima

b. Las superficies

i. Z=x2+y2

ii. 2x2-3y2+2z2=1

• Z=√(2x2-3y2-1)/2

Page 33: 52677950 Manual Wxmaxima