OBJETO MATRIX

 

Definición y concepto

 

Las matrices son una herramienta poderosa de calculo. No vamos a entrar en detalle sobre el tema de matrices. Lo que se puede mencionar, es que incluye características especiales para realizar operaciones de fila.

En lo particular, me he sentido muy cómodo trabajando las matrices tal como Queen las maneja.  Otro aspecto muy conveniente es la forma de presentación de las cantidades, se pueden presentar en forma de fracción o en forma decimal, no importa la forma como se proporcionaron los elementos, las fracciones son calculadas a partir del periodo decimal. En algunas ocasiones este periodo no esta presenta en la precisión  de 16 dígitos decimales, aun cuando haya sido generado por una fracción, por lo que es imposible resolver al numero fraccionario que genera el decimal. En este caso se presentara el elemento con tantos números decimales como el establecido por el comando deci.

 

En la siguiente figura presenta algunas matrices en el plano.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 


Características y operaciones generales

 

Las matrices no son eliminadas de memoria cuando se usa el comando clsplane, o se limpia el plano desde el panel de control usando el botón cls, pero se establecen a no visibles. Una operación on aplicada a la matriz la volverá  a presentar en el plano.

 

Las operaciones generales son ejecutadas usando el comando matrix. El listado se detalla a continuación:

1.       Creación  de una de matriz (create).

2.       Obtención una matriz identidad n x m (identity).

3.       Comparación entre dos matrices (equal).

4.       Obtención de una matriz n x m conteniendo elementos aleatorios.

5.       Creación  de una matriz n x m vacía (empty).

6.       Listado de las matices en memoria (list).

7.       Eliminación de una matriz de memoria (delete).

8.       Eliminación de todas las matrices en memoria (cls).

9.       Operación fila con mas de una matriz (op)

10.   Multiplicación de una fila por un escalar con mas de una matriz (krow)

 

 

Operación create: Crea un nuevo objeto matriz de dimensiones a partir de un ser de datos.

Si un objeto con el mismo nombre existe, es sobrescrito sin notificación. Esto también se aplica cuando una matriz es creada como  resultado de alguna operación con matrices.

 

Sintaxis: matrix create name dataset

1.       matrix: El comando

2.       create: La operación.

3.       name: El nombre de la matriz.

4.       dataset: Un conjunto de datos que define las dimensiones de la matriz. Tienen un formato especial, las filas estas delimitadas por uno de los corchetes cuadrados [], y las columnas están delimita por comas dentro de las filas: Ejemplo: [1,2][4,5] , es un ejemplo de una matriz 2 x 2.

 

Ejemplo: crea una matriz 6 x 3

matrix create A [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

 

Salida en el plano:

 
 

 

 

 

 

 

 

 

 

 

 

 

 


Operación identity : Crea una matriz  identidad n x m.  Note que las matrices identidades deberían de ser cuadradas. Aun así, este comando crea una matriz n x m,  en la cual los elementos donde i=j son 1.

 

Sintaxis: matrix identity  name n m

1.       matrix: El comando

2.       identity : La operación.

3.       name: El nombre de la matriz.

4.       n : Numero de filas

5.       m: Numero de columnas.

 

Ejemplo: crea una matriz 6 x 3

matrix identity  3 3

 

 

Operación equal : Hace la matriz B igual a la Matriz A.

Es necesario que la matriz A exista. La matriz B será construida si no existe o reconstruida si existe, en todo caso será igual a A.

 

Sintaxis: matrix equal A B

1.       matrix: El comando

2.       equal : La operación.

3.       A: El nombre de la matriz fuente.

4.       B : Nombre de la matriz destino

 

Ejemplo:

matrix create A [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

matrix equal A B

B coor -2 -3

 

 

Operación empty : Crea una matriz m x n inicializada con los elementos a cero.

 

Sintaxis: matrix empty name  m n

1.       matrix: El comando

2.       empty : La operación.

3.       name: El nombre de la matriz.

4.       m : Numero de filas

5.       n: Numero de columnas

 

Ejemplo:

matrix empty  A 2 3

 

 

Operación list : Lista todas las matrices en memoria.

 

Sintaxis: matrix list

1.       matrix: El comando

2.       list : La operación.

 

Ejemplo:

matrix empty  A 2 3

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

matrix list

 

 
 


Resultado:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Operación cls : Elimina todas las matrices de memoria.

 

Sintaxis: matrix cls

1.       matrix: El comando

2.       cls : La operación.

 

Ejemplo:

matrix empty  A 2 3

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

matrix cls

matrix list

 

 

Operación op : Realiza una operación fila con mas de una matriz. Las operaciones filas realizadas por este comando, es la suma de un múltiplo de una fila a otra, del tipo F1=F1+K*F2. La operación es efectuada en todas las matrices que se listan. Para que la operación se realice, es necesario que las matrices tengan el mismo numero de filas.

Si la opción trace  esta activada, se mostrara en el área de salida cada operación en cada matriz.

 

Sintaxis: matrix op mat_list row1 row2 factor

1.       matrix: El comando

2.       op : La operación.

3.       mat_list: La lista de matrices que serán operadas, se deben de separase solamente por una coma entra cada una de ellas (no espacio).

4.       row1: La fila que será modificada.

5.       row2: La fila que se obtendrá su múltiplo.

6.       factor: El factor por el que multiplicara row2.

 

Ejemplo:

matrix create  A [1,1,1,1][1,1,1,1][1,1,1,1]

matrix create B [2,2,2][2,2,2]2,2,2]

A coor -2 2

B  coor 2 2

// la operacion F1=F1+2*F2

matrix op A,B 1 2 2

A info

B info

 

 

            La salida:

Matrix A: Row Operation(F1= F1+2*F2)

Matrix B: Row Operation(F1= F1+2*F2)

Matrix A(3 x 4):

[3, 3, 3, 3]

[1, 1, 1, 1]

[1, 1, 1, 1]

Matrix B(3 x 3):

[6, 6, 6]

[2, 2, 2]

[2, 2, 2]

 

 

Operación krow: Multiplica la fila row  de todas las matices especificadas, por un escalar factor. La fila row de existir en todas las matrices.

Si la opción trace  esta activada, se mostrara en el área de salida cada operación en cada matriz.

 

Sintaxis: matrix krow mat_list row factor

1.       matrix: El comando

2.       krow : La operación.

3.       mat_list: La lista de matrices que serán operadas, se deben de separase solamente por una coma entra cada una de ellas (no espacio).

4.       row: La fila que será modificada.

 

 

Características y operaciones internas

 

El uso de matrices es Queen es muy flexible. Introduce algunas características de presentación[1] como son el poder sobresaltar en color una fila y/o una columna de la matriz, también es posible sobresaltar en color un elementos especifico.

 

Para trabajar con matrices, no es necesario que estas se muestren en el plano. Un buen modo de usarlas es a través de la programación.

 

Una matriz tiene dos modos para presentar las cantidades, una es como fracciones y la otra es como números decimales. En el modo de fracciones, si no es posible resolver a la fracción, el numero se mostrara como decimal. La cantidad de decimales mostrada en las cantidades decimales depende del valor establecido por el comando deci.

 

Características

El objeto matriz cuenta con las siguientes características:

1.       Visibilidad (on,off): controla la visibilidad de la matriz en el plano

2.       Coordenadas (coor): Localización de la matriz en el plano.

3.       Marcas (mark): Un conjunto de características que permiten establecer colores y resaltar una fila y/o columna, así como un elemento especifico.

4.       Modo presentación (frac,deci): Modo como se presentan los elementos de la matriz, puede ser en forma fraccionaria o decimal.

5.       Tipo, tamaño y color de letra (font): Establecimiento de 3 características del texto en el plano.

6.       Divisiones internas de una matriz: Un conjunto de operaciones que establecen una división interna de una matriz[2] tanto de filas como de columnas, cambio de color y de posición (icut, jcut).

 

Operación off : Hace que la matriz no sea visible en el plano.

 

Sintaxis: objectmane off

1.       objectmane: Nombre de la matriz

2.       off : La operación.

 

Vea el siguiente ejemplo.

 

Operación on : Hace que la matriz sea visible en el plano.

 

Sintaxis: objectmane on

1.       objectmane: Nombre de la matriz

2.       on : La operación.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B off

update plane

matrix list

B on

 

 

Operación coor : Establece las coordenadas de localización de la matriz en el plano. Por defecto son (–1,1). La esquina superior izquierda se ubica tal coordenada.

 

Cuando se cree mas de una matriz, se debería establecer las coordenadas a un lugar despejado del plano, ya que se sobreponen,

 

Sintaxis: objectmane coor x y

1.       objectmane: Nombre de la matriz.

2.       coor : La operación.

3.       x y: Las coordenadas de localización en el plano. Una coordenada puede se un asterisco (*) en cuyo caso, la coordenada se mantiene.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B coor -3 3

 

 

Operación mark : Esta operación cuenta con conjunto de  sub opciones que administran diferentes aspecto de la presentación grafica de la matriz. Estos características están diseñadas para apoyar el aspecto académico, si Queen es usada en el aula de clase para presentación múltiple.

Entre las características manejadas por la operación mark están:

·         Establece la marcas a activas y no activas (on,off), por defecto esta como no activas.

·         Sobresaltar una fila usando un color especifico (row, rcolor), por defecto la fila sobresaltada es 1 y el color es azul.

·         Sobresaltar una columna usando un color especifico (col, ccolor), por defecto la columna sobresaltada es 1 y el color es amarillo.

·         Sobresaltar un elemento usando un color especifico (ele,ecolor), por defecto el elemento sobresaltado es (1,1) y el color es verde.

·         Pintar las separaciones de las celdas de los elementos a diferente color (bcolor), por defecto el color es negro.

 

La siguiente figura te dará una mejor idea de esto.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 


Cuando se cree mas de una matriz, se debería establecer las coordenadas a un lugar despejado del plano, ya que se sobreponen,

 

Sub Opción on: Hace visibles todas las marcas en la matriz.

Sintaxis: objectmane mark on

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       on: sub opción.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

 

Sub Opción off: Hace no visibles todas las marcas en la matriz.

Sintaxis: objectmane mark off

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       off: sub opción.

 

Ejemplo: Aplicase en el ejemplo anterior.

 

Sub Opción row: Establece la fila que será marcada (sobresaltada)

Sintaxis: objectmane mark row index

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       row: sub opción.

4.       index: Un numero entero que será interpretado como el Índice de la fila. Si el índice no es encontrado, no se muestra ninguna fila resaltada.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark row 4

 

 

Sub Opción col: Establece la columna que será marcada (sobresaltada)

Sintaxis: objectmane mark col index

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       col: sub opción.

4.       index: Un numero entero que será interpretado como el índice de la columna. Si el índice no es encontrado, no se muestra ninguna columna resaltada.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark col 3

 

Sub Opción ele: Establece el elemento que será marcado (sobresaltado)

Sintaxis: objectmane mark ele i  j

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       ele: sub opción.

4.       i: Índice de fila del elemento

5.       j: Índice de columna de elemento

Si alguno de los índices no esta en el rango valida de la matriz, no se sobresalta ningún elemento.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark ele 4 3

 

 

Sub Opción rcolor: Establece el color con el que sobresalta la fila marcada. El valor por defecto es azul claro.

Sintaxis: objectmane mark rcolor color

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       rcolor: sub opción.

color: El color en cualquier formato

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark rcolor red

B mark row 3

 

 

Sub Opción ccolor: Establece el color con el que sobresalta la columna  marcada. El valor por defecto es amarillo.

Sintaxis: objectmane mark ccolor color

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       ccolor: sub opción.

color: El color en cualquier formato

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark ccolor blue

B mark col 2

 

 

Sub Opción ecolor: Establece el color con el que sobresalta el elemento  marcado. El valor por defecto es verde.

Sintaxis: objectmane mark ecolor color

1.       objectmane: Nombre de la matriz.

2.       mark : La operación.

3.       ecolor: sub opción.

color: El color en cualquier formato

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B mark on

B mark ecolor pink

B mark ele 6 3

 

 

Operación frac : Establece (activa) el formato numérico de los elementos a fracciones. Las fracciones son  calculadas a partir del ciclo que todo numero racional presenta en los dígitos decimales. Algunas ocasiones no esta contenido en la precisión estándar de java (16 dígitos decimales), por lo que resulta imposible calcular la fracción que genera el numero decimal. Así también para los numero irracionales. Cuando no es posible convertir al numero fraccionario, se presenta como numero decimal. Para mas información sobre las fracciones véase el comando frac en el manual de referencia de comandos.

Si la presentación fraccionaria esta activada, el comando info también devuelve los elementos de la matriz en formato de fracción.

El formato fraccionario es el valor por defecto

Sintaxis: objectmane off

1.       objectmane: Nombre de la matriz.

2.       frac : La operación.

 

Ejemplo:

matrix create B [1/3,0,2.5][3.4,-2/5,1][3/4,1/5,-3][3/5,5/7,-3/2][7/3,5,-3/7][2/3,5,-3/2]

B frac

 

 

Operación deci : Establece (activa) el formato decimal. La cantidad de decimales mostrada es el establecido por el comando deci.

 El comando info retorna los elementos en formato decimal  cuando este formato esta activado.

Sintaxis: objectmane deci

1.       objectmane: Nombre de la matriz.

2.       deci : La operación.

 

Ejemplo:

matrix create B [1/3,0,2.5][3.4,-2/5,1][3/4,1/5,-3][3/5,5/7,-3/2][7/3,5,-3/7][2/3,5,-3/2]

B deci

deci 4

 

 

Operación font: Esta operación maneja 3 características de tipo de letra con que se pinta la matriz en el plano.

Entre las características están:

·         El tipo (name).

·         Tamaño (size)

·         Color  (color).

 

Sub Opción name: Establece el nombre de la fuente o tipo de letra. La fuente o letra por defecto es Dialog.

Los tipos de letras que puedes usar dependen de los instalados en tu sistema. Para averiguar cuales tienes instalados, usa el comando gfont, sin parámetros, este presenta la lista de las fuentes disponibles en el área de salida; si le pasas un nombre de variable, se almacenara en ella la fuente que selecciones. Observa el ejemplo.

 

Sintaxis: objectmane font name fontname

1.       objectmane: Nombre de la matriz.

2.       font:: La operación.

3.       name: sub opción.

4.       fontname: El nombre de la fuente, si se especifica un asterisco (*), se establece la fuente por defecto (Dialog).

 

Ejemplo:

gfont mifont

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B font name 'mifont'

 

 

Sub Opción color: Establece el color de la fuente o tipo de letra.  El color por defecto es negro.

 

Sintaxis: objectmane font color colorformat

1.       objectmane: Nombre de la matriz.

2.       font:: La operación.

3.       color:  sub opción.

4.       colorformat: El color en cualquier formato.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B font color blue

 

 

Sub Opción size: Establece el tamaño de la fuente o tipo de letra.  El tamaño por defecto es 12.

Hay funtes que no toman cualquer tamaño.

 

Sintaxis: objectmane font size value

1.       objectmane: Nombre de la matriz.

2.       font:: La operación.

3.       size:  sub opción.

4.       value: Valor entero positivo para el nuevo tamaño.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B font size 30

 

 

 

Operación deci : Establece (activa) el formato decimal. La cantidad de decimales mostrada es el establecido por el comando deci.

 El comando info retorna los elementos en formato decimal  cuando este formato esta activado.

Sintaxis: objectmane deci

3.       objectmane: Nombre de la matriz.

4.       deci : La operación.

 

Ejemplo:

matrix create B [1/3,0,2.5][3.4,-2/5,1][3/4,1/5,-3][3/5,5/7,-3/2][7/3,5,-3/7][2/3,5,-3/2]

B deci

deci 4

 

 

Operacines icut y  jcut: Estas operaciones funcionan exactamente igual. Solo que icut , aplica a las filas y jcut a las columnas. Solo se describirán para icut.

Esta operación maneja un separador de filas interno, especial para trabajar con matrices aumentadas.

 

Entre las características están:

·         La visibilidad (on, off)

·         La ubicación (set)

·         El Color  (color)

 

 

 

Sub Opción on: Hace visible la división.

 

Sintaxis: objectmane icut on

1.       objectmane: Nombre de la matriz.

2.       icut: La operación.

3.       on: sub opción.

 

Ejemplo:

gfont mifont

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B icut on

 

 

Sub Opción off: Hace no visible la división.

 

Sintaxis: objectmane icut off

1.       objectmane: Nombre de la matriz.

2.       icut: La operación.

3.       off: sub opción.

 

Ejemplo: Se parte del ejemplo anterior.

B icut off

 

 

Sub Opción set: Establece en que fila se ubicara en separador, por defecto se encuentra en la posición 0, es decir, no separa ninguna fila, ya que esta al inicio.  

 

Sintaxis: objectmane icut set

1.       objectmane: Nombre de la matriz.

2.       icut: La operación.

3.       set: sub opción.

4.       num: Es el numero de filas a separar. Puede tomas cualquier valor entero, si se sale del rango del numero de filas de la matriz, simplemente no se visualiza. 

 

Ejemplo:

matrix create B [1/3,0,2.5][3.4,-2/5,1][3/4,1/5,-3][3/5,5/7,-3/2][7/3,5,-3/7][2/3,5,-3/2]

B jcut set 2

B icut set 2

B icut on

B jcut on

                       

 

La siguiente imagen como se ve el programa del ejemplo en el plano.

 
 

 

 

 

 

 

 

 

 

 

 


Sub Opción color: Establece el color del separado.  

 

Sintaxis: objectmane icut color Thecolor

1.       objectmane: Nombre de la matriz.

2.       icut: La operación.

3.       color: sub opción.

4.       Thecolor: El color en cualquier formato.

 

Ejemplo: Se parte del ejemplo anterior.

B icut color blue

 

 

Operaciones

Algunas operaciones tienen restricciones para poder llevarse a cabo, tal como el determinante. No se especificaran  tales restricciones en ninguna operación, se asume que el usuario ya las conoce.

 

Todas las operaciones con matrices tienen el efecto de crear otra matriz con el resultado de la operación si se les pasa al final un nombre que tomara la matriz resultante. De lo contrario, la primera matriz de la operación es la que contiene el resultado de la operación. La segunda matriz, nunca es modificada.

 

Listado de las operaciones con matrices, la palabra entre paréntesis a lado de la operación es la palabra clave para ejecutar la operación.

1.       Impresión de la matriz (info), obtener los elementos de la matriz.

2.       Rellenado de una matriz (fill), reconstruye una matriz existente, incluye redimensión.

3.       Suma de matrices (plus)

4.       Resta de matrices (less).

5.       Multiplicación de matrices (mul).

6.       División elemento a elemento de dos matrices (div), respectivamente en su índice.

7.       Multiplicación elemento a elemento de dos matrices (multi). Respectivamente en su índice.

8.       Multiplicación de la matriz por un escalar (kmat).

9.       Obtención de las dimensiones de la  matriz (dim).

10.   Transpuesta de la matriz (trans).

11.   Obtención del menor de un elemento (minor).

12.   Obtención de la matriz de cofactores (cofac).

13.   Obtención de la matriz inversa (inver).

14.   Obtención de un elemento de la matriz (get).

15.   Establecimiento de un elemento de la matriz (set).

16.   Multiplicación de un escalar por una fila (krow).

17.   Intercambio de filas en una matriz (swap).

18.   Operación de filas (op).

19.   Determinación del determinante (det).

20.   Activar el seguimiento de las operaciones de filas (trace).

21.   Hacer un elemento pivote (uno) mediante una operación de fila automatice(pivote)

22.   Hacer un elemento cero mediante una operación de fila automática.(zero)

23.   Obtener una sub Matriz de otro (submatrix)

24.   Hacer una copia de la matriz (copy).

25.   Concatenar una matriz a la izquierda de otra (joinleft)

26.   Concatenar una matriz debajo de otra (joinunder)

27.   Centrar en el plano el primer elemento de una matriz (go)

28.   Matriz triangular superior (U)

29.   Matriz triangular inferior (L)

30.   Rango de una matriz (rank).

31.   Resolver un sistema de ecuaciones con matrices (solve).

 

 

Operación info : Imprime la matriz o la almacena en una variable string.

 

Sintaxis: objectname  info variable

1.       objectname: El nombre de la matriz

2.       info : La operación.

3.       variable: variable opcional, si se incluye, el resultado se almacena en ella, de lo contrario es presentado en el área de salida.

 

Ejemplo:

matrix create B [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B info

 

            Resultado:

Matrix B(3 x 6):

[3, 0, 3]

[1, -2, 1]

[3, 5, -3]

[3/5, 5, -3/2]

[3, 5, -3]

[3, 5, -3]

 

 

Operación fill :  Reconstruye la matriz a partir de la lista de los nuevos elemento. Si el numero de filas o columnas es diferente al establecido anteriormente, se redimensiona a los nuevos valores.

El formato de la lista de elementos es el mismo usado para crear una matriz con la operación create.

 

Sintaxis: objectname  fill data

1.       objectname: El nombre de la matriz

2.       fill : La operación.

3.       data: Las lista de elementos.

 

Ejemplo:

matrix empty B 2 2

B info

B fill  [3,0,3][1,-2,1][3,5,-3][3/5,5,-3/2][3,5,-3][3,5,-3]

B info

 

Resultado en el área de salida:

Matrix B(2 x 2):

[0, 0]

[0, 0]

Matrix B(3 x 6):

[3, 0, 3]

[1, -2, 1]

[3, 5, -3]

[3/5, 5, -3/2]

[3, 5, -3]

[3, 5, -3]

Operación plus :  Suma dos matrices. Es necesario que las matrices sean de las mismas dimensiones para poderse sumar.

 

Sintaxis: objectname  plus matrix2 variable

1.       objectname: El nombre de la matriz

2.       plus : La operación.

3.       matrix2: La otra matriz que participa en la suma.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado de la suma. Si no lo es, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2,3][4,5,6]

matrix create B [4,5,6][7,8,9]

A plus B RESULTADO

A coor 1 1

B coor 1 -1

RESULTADO  coor -2 1

 

Resultado

 
 

 

 

 

 

 

 

 

 

 

 

 

 


Operación less :  Resta la segunda matriz a la primera.

 

Sintaxis: objectname  less matrix2 variable

1.       objectname: El nombre de la matriz

2.       less : La operación.

3.       matrix2: La matriz que será substraída a la primera.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado de la resta. Si no lo es, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2,3][4,5,6]

matrix create B [4,5,6][7,8,9]

A less  B C

A coor 1 1

B coor 1 -1

C coor -2 1

 

 

Operación mul :  Multiplica la primera matriz por la segunda. Para multiplicar dos matrices  de dimensiones: A(m x n)  y  B(o x p), se debe de cumplir n=o, la matriz resultante será de dimensiones m x p.

 

Sintaxis: objectname  mul matrix2 variable

1.       objectname: El nombre de la matriz

2.       mul : La operación.

3.       matrix2: La segunda matriz.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo: En este ejemplo las dimensiones son: A(3,2) y B(2,4)

matrix create A [1,2][4,5][2,3]

matrix create B [4,5,6,0][7,8,9,-1]

A mul  B C

A coor 1 1

B coor 1 -1

C coor -2 -1

 

 

Operación div :  Realiza una división de elemento a elemento de la primera matriz dividida sobre la segunda. Las matrices deben tener las mismas dimensiones.

 

Sintaxis: objectname  div matrix2 variable

1.       objectname: El nombre de la matriz

2.       div : La operación.

3.       matrix2: La segunda matriz.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2][4,5]

matrix create B [4,5][7,8]

A div  B C

A coor 1 1

B coor 1 -1

C coor -2 -1

 

 

Operación multi :  Realiza una multiplicación de elemento a elemento de dos matrices. Las matrices deben tener las mismas dimensiones.

 

Sintaxis: objectname  multi  matrix2 variable

1.       objectname: El nombre de la matriz

2.       multi : La operación.

3.       matrix2: La segunda matriz.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2][4,5]

matrix create B [4,5][7,8]

A multi  B C

A coor 1 1

B coor 1 -1

C coor -2 -1

 

 

Operación kmat :  Multiplica una matriz por un escalar.

 

Sintaxis: objectname  kmat value variable

1.       objectname: El nombre de la matriz

2.       kmat : La operación.

3.       value: El numero escalar.

4.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2][4,5]

A kmat 10 C

C coor -2 -1

 

 

Operación dim :  Retorna las dimensiones de una matriz.

 

Sintaxis: objectname  dim  index value variable

1.       objectname: El nombre de la matriz

2.       dim : La operación.

3.       index: Cual de los dos índices se esta solicitando. Debe ser i o j.

4.       variable: Nombre de variable opcional, si es incluido,  el valor de la dimensión se almacena en tal variable. Si no se incluye, el resultado es mostrado en la barra de estado

 

Ejemplo:

matrix create A [1,2,3][4,5,4]

A dim i var_i

A dim j var_j

strln Dimensiones de A=> i=~var_i~   j=~var_j~

 

            Resultado en el área de salida:

Dimensiones de A=> i=2   j=3

 

 

Operación trans :  Calcula la transpuesta de una matriz.

 

Sintaxis: objectname  trans  variable

1.       objectname: El nombre de la matriz

2.       trans: La operación.

3.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3]

A trans C

C coor -1 -1

 

           

Operación minor :  Obtención del menor de un elemento.

El menor de un elemento es una sub matriz que se obtiene eliminando la fila y la columna a las que el elemento pertenece.

 

Sintaxis: objectname  minor ivalue  jvalue  variable

1.       objectname: El nombre de la matriz

2.       minor: La operación.

3.       ivalue: Valor del índice de la fila del elemento.

4.       jvalue: Valor del índice de la columna del elemento.

5.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo: Se marca la fila , la columna  y el elemento.

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A mark on

A mark row 2

A mark col 2

A mark ele 2 2

A minor 2 2 C

C coor -1 -1

 

           Resultado: El menor del elemento (2,2) en verde, es la matriz formada por los elementos en blanco.

 
 

 

 

 

 

 

 

 

 

 

 

 

 


Operación cofac :  Obtención de la matriz de cofactores

El cofactor de un elemento es el determinante de su menor con signo. El signo se obtiene por la siguiente formula.

 

Cofacij =(-1)i+j*det(Menorij)

 

 

Sintaxis: objectname  cofac  variable

1.       objectname: El nombre de la matriz

2.       cofac : La operación.

3.       variable: Nombre de variable opcional, si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A cofac C

C coor -1 -1

 

 

Operación det:  Obtiene el determinante de una matriz

 

Sintaxis: objectname  det variable

1.       objectname: El nombre de la matriz

2.       det : La operación.

3.       variable :  Es el nombre de una variable para almacenar el valor del determinante, si no se proporciona, el resultado se muestra en la barra de estado.

 

 Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A det

 

 

Operación inver :  Obtención de la matriz Inversa

Solo las matrices cuadradas podrían tener una inversa.

 

Sintaxis: objectname  inver  variable

1.       objectname: El nombre de la matriz

2.       inver : La operación.

3.       variable: Nombre de variable (opcional), si es incluido,  se crea otra matriz con ese nombre conteniendo el resultado. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo: Se calcula la inversa de A en C, y luego la inversa de C en D, así que A=D debe ser cierto.

matrix create A [1,3,-2][3,5,-3][-3,2,-4]

A inver C

C coor -1 -1

C inver D

D coor 1 2

 

 

Operación get :  Obtención de un elemento de la matriz.

 

Sintaxis: objectname  get ivalue jvalue  variable

1.       objectname: El nombre de la matriz

2.       get : La operación.

3.       ivalue: Valor del índice de la fila del elemento

4.       jvalue: Valor del índice de la columna del elemento

5.       variable: Nombre de variable (opcional), si es incluido,  el elemento es almacenado en tal variable. Si no se incluye, el resultado se almacena en la primera matriz de la operación.

 

Ejemplo:

matrix create A [1,3,-2][3,5,-3][-3,2,-4]

A get 2 2 valor

A get 3 3

strln A(2,2)=~valor~

 

 

Operación set:  Establece un elemento de la matriz.

 

Sintaxis: objectname  set ivalue jvalue  value

1.       objectname: El nombre de la matriz

2.       get : La operación.

3.       ivalue: Valor del índice de la fila del elemento

4.       jvalue: Valor del índice de la columna del elemento

5.       value:Valor a establece.

 

Ejemplo:

matrix empty  A 3 3

A set  1 1 1

A set 2 2 1

A set 3 3 1

 

 

 

 

Operación trace:  Activa el seguimiento de las operaciones de fila.

Las operaciones de fila son ejecutadas por los comando swap, krow, pivote, zero y op, si esta opción esta habilitada, todas las operaciones de fila que se realicen, se irán imprimiendo en el área de salida.

 

Sintaxis: objectname  trace flag

1.       objectname: El nombre de la matriz

2.       trace : La operación.

3.       flag:  debe ser una de las siguientes: on = activa; off=desactivar

 

Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A trace on

 

 

Operación swap:  Intercambio de filas en una matriz.

Este comando forma parte de las operaciones de filas de la matriz. Todas esta operaciones reportan textualmente la operación realizada a la matriz, con el objeto de darle seguimiento al conjunto de operaciones de transformación. Si la opción trace esta habilitada, todas las operaciones son impresas automáticamente en el área de salida. Si no lo esta, solo se portan en el área de salida.

 

 

Sintaxis: objectname  swap  index1 index2 variable

1.       objectname: El nombre de la matriz

2.       swap : La operación.

3.       index1: Valor del índice de la fila 1

4.       index2: Valor del índice de la fila 2

5.       variable: Parámetro opcional. Es el nombre de una variable string, si se agrega, se almacena en ella la operación de fila realizada. Si no es incluida, la información se despliega en la barra de estado.

 

Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A swap 1 3

 

 

Operación op:  Operación de filas.

Las operaciones de fila se usan para transformar una matriz en otra deseada pero equivalente en filas. Estas siempre involucran 2 filas y un factor. Básicamente es una reasignación de los elementos de la primera fila por un múltiplo del elemento de la segunda fila sumado al elemento de la primera. Esto suena confuso, pero no lo es. El siguiente ejemplo despejara cualquier duda.

Supongamos tenemos una matriz A de dos filas como sigue:

 

 

A:

F1= –1    3  7

F2=   3   4   0

 

De tal forma que la reasignación será en la primera fila, y el múltiplo de la segunda fila es –2:

El primer paso es multiplicar a la segunda fila por –2.

2*F2= -2*(3   4  0)=  -6  –8  0

El segundo paso es sumar cada elemento de F1 y F2 respectivamente en su columna.

F1+(-2*F2)= (1-6)  (3-8)  (7+0)= -5   -5  7

Este resultado lo  asignamos a la primera fila.

F1=F1+(-2*F2)= -5 –5 7

…Y listo. Esta operación de filas se representa por   F1=F1+(-2*F2)

La matriz A de dos filas quedaría así después de la operación.

-5 –5 7

 3  4  0

 

Sintaxis: objectname  op  line1 line2 factor variable

1.       objectname: El nombre de la matriz

2.       op : La operación.

3.       line1: Valor del índice de la fila 1

4.       line2: Valor del índice de la fila 2

5.       factor: El factor de la fila 2

6.       variable: Parámetro opcional. Es el nombre de una variable string, si se agrega, se almacena en ella la operación de fila realizada. Si no es incluida, la información se despliega en la barra de estado, y en el área de salida si la opción trace esta activada.

 

Ejemplo:

matrix create A [1,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A op 1 3 4

 

 

Operación pivote:  Realiza una operación de fila automática  (multiplicación por un escalar) para hacer que el elemento especificado en los índices i,j sea 1.

Si la opción trace esta activada, la operación realizada se muestra en el área de salida.

 

Sintaxis: objectname  pivote i j

1.       objectname: El nombre de la matriz

2.       pivote : La operación.

3.       i: Índice de la fila del elemento

4.       j: Índice de la columna del elemento

 

Ejemplo:

matrix create A [-4,2,3,8][4,5,4,-3][1,2,-1,2][0,-1,0,2]

A trace on

A pivote 1 1

 

 

 

 

Operación zero:  Realiza una operación de fila automática para hacer que el elemento especificado en los índices i,j sea cero, tomando como fila sumando (el múltiplo necesario para hacer cero al elemento, es automáticamente determinado) a row que también es especificada. Esta operación junto con la operación  pivote  son una tremenda herramienta para resolver rápidamente un sistema de ecuaciones, tal como se muestra en el ejemplo.

No es necesario que la fila tomada como sumando haya un elemento 1 (o pivote) para hacer cero al elemento especificado.

 

Si la opción trace esta activada, la operación realizada se muestra en el área de salida.

 

Sintaxis: objectname  zero i j row

1.       objectname: El nombre de la matriz

2.       zero : La operación.

3.       i: Índice de la fila del elemento

4.       j: Índice de la columna del elemento

5.       row: Es la fila que se tomara como sumando para hacer cero el elemento.

 

Ejemplo:

Resolver el siguiente sistema de ecuaciones:

 

 

 

 

 

 

 


Comentario del programa:  Lo que se hace  es hacer pivote todos los elementos de la diagonal, y con cada pivote hacer cero todos los elementos por debajo y arriba de este.

matrix create a [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

a jcut on

a jcut set 4

 

a pivote 1 1

a zero 2 1 1

a zero 3 1 1

a zero 4 1 1

 

a pivote 2 2

a zero 1 2 2

a zero 3 2 2

a zero 4 2 2

 

a pivote 3 3

a zero 1 3 3

a zero 2 3 3

a zero 4 3 3

 

a pivote 4 4

a zero 1 4 4

a zero 2 4 4

a zero 3 4 4

Salida de las operaciones:

 

Matrix a: Row Operation(F1= 1/2*F1)

Matrix a: Row Operation(F2= F2-1*F1)

Matrix a: Row Operation(F3= F3-1*F1)

Matrix a: Row Operation(F4= F4-3*F1)

Matrix a: Row Operation(F2= -1*F2)

Matrix a: Row Operation(F1= F1+2*F2)

Matrix a: Row Operation(F3= F3-2*F2)

Matrix a: Row Operation(F4= F4-2*F2)

Matrix a: Row Operation(F3= -1*F3)

No operation needed

No operation needed

Matrix a: Row Operation(F4= F4-3*F3)

Matrix a: Row Operation(F4= 1/13*F4)

Matrix a: Row Operation(F1= F1+2*F4)

Matrix a: Row Operation(F2= F2+1*F4)

Matrix a: Row Operation(F3= F3+4*F4)

 

 

 
Respuesta Grafica:

 

 

 

 

 

 

 

 

 

 

 

 

Operación submatrix:  Extrae un determinado segmento de una matriz. A partir de la especificación de un elemento, se especifica cuantas filas y cuantas columnas de van a incluir en el segmento. Puedes extraer una fila o columna especifica en la matriz. El ejemplo en esta operación se mostrara como hacerlo.

 

 

Sintaxis: objectname  submatrix i j rows cols variable

1.       objectname: El nombre de la matriz

2.       submatrix: La operación.

3.       i: Índice de la fila del elemento inicial

4.       j: Índice de la columna del elemento inicial

5.       rows: Cuantas filas se incluirán contando con la fila del elemento inicial.

6.       cols: Cuantas columnas se incluirán contando  la columna del elemento inicial.

7.       variable: Opcional, nombre de una variable, si se incluye, una nueva matriz con el resultado tomara tal nombre. Si no se incluye, la matriz original será redimensionada para tomar el resultado.

 

Ejemplo:

matrix create a [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

 

//sacando la linea 2

a submatrix 2 1 1 6 b

b coor  -2 -1

 

//sacando la columna 5

a submatrix 1 5 4 1 c

c coor  -2 -2

 

// sacando el centro de la matrix

a submatrix 2 2 2 4 d

d coor  2 2

 

 

 

Resultado Grafico:

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Operación copy:  Hace una copia de la matriz.

 

Sintaxis: objectname  copy variable

1.       objectname: El nombre de la matriz

2.       copy: La operación.

3.       variable: Nombre de la nueva matriz.

 

Ejemplo:

matrix create A [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

A copy B

B coor -2 -2

 

 

Operación joinleft:  Concatena una segunda matriz a la izquierda. La segunda matriz debe tener el mismo numero de filas.

 

Sintaxis: objectname  joinleft  matrix2 variable

1.       objectname: El nombre de la matriz

2.       joinleft: La operación.

3.       matrix2: La segunda matriz

4.       variable: Opcional, si se especifica, se crea una matriz con el nombre especificado conteniendo el resultado.

 

Ejemplo:

matrix create A [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

matrix create B [0,-1][2,-3][-1,2][-4,-1]

A joinleft B C

B coor -2 -2

C coor -2 -4

C info

 

                        Resultado:

Matrix C(4 x 8):

[2, -4, 0, 0, -10, -8, 0, -1]

[1, -3, 0, 1, -4, -2, 2, -3]

[1, 0, -1, 2, 4, 9, -1, 2]

[3, -4, 3, -1, -11, -15, -4, -1]

 

 

Operación joinunder:  Concatena una segunda matriz debajo de la primera. La segunda matriz debe tener el mismo numero de columnas.

 

Sintaxis: objectname  joinunder  matrix2 variable

1.       objectname: El nombre de la matriz

2.       joinleft: La operación.

3.       matrix2: La segunda matriz

4.       variable: Opcional, si se especifica, se crea una matriz con el nombre especificado conteniendo el resultado.

 

Ejemplo:

matrix create A [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

matrix create B [0,-1,0,3,4,5][1,0,0,2,-3,-5][-1,3,4,0,9,2]

A joinunder B C

B coor -2 -2

C coor -2 -4

C info

 

                        Resultado:

Matrix C(7 x 6):

[2, -4, 0, 0, -10, -8]

[1, -3, 0, 1, -4, -2]

[1, 0, -1, 2, 4, 9]

[3, -4, 3, -1, -11, -15]

[0, -1, 0, 3, 4, 5]

[1, 0, 0, 2, -3, -5]

[-1, 3, 4, 0, 9, 2]

 

 

Operación go:  Centra en el plano la coordenada de localización de la matriz. Esta operación es especialmente útil con las Pocket Pc, que tiene poco espacio de visualización. Una matriz puede estar virtualmente en cualquier coordenada del plano.

 

Sintaxis: objectname  go

1.       objectname: El nombre de la matriz

2.       go: La operación.

 

Ejemplo:

matrix create A [2,-4,0,0,-10,-8][1,-3,0,1,-4,-2][1,0,-1,2,4,9][3,-4,3,-1,-11,-15]

A coor  -200 500

A go

 

 

Operación u:  Retorna la matriz triangular superior.

La matriz tiene que ser cuadrada.

 

Sintaxis: objectname  u variable

3.       objectname: El nombre de la matriz

4.       u: La operación.

5.       variable: Es el nombre de la nueva matriz, opcional, si no se especifica, la matriz actual contendrá el resultado.

Ejemplo:

matrix create A [2,-4,0,-10][1,-3,1,-4][0,-1,2,4][-4,-1,-11]

A u B

B coor  -2 –2

B info

 

Salida:

Matrix B(4 x 4):

[-4, -1, -1, 1]

[0, -9/2, -1/2, -19/2]

[0, 0, 19/9, 55/9]

[0, 0, 0, -0.11]

 

 

Operación l:  Retorna la matriz triangular inferior.

La matriz tiene que ser cuadrada.

 

Sintaxis: objectname  l variable

1.       objectname: El nombre de la matriz

2.       l: La operación.

3.       variable: Es el nombre de la nueva matriz, opcional, si no se especifica, la matriz actual contendrá el resultado.

Ejemplo:

matrix create A [2,-4,0,-10][1,-3,1,-4][0,-1,2,4][-4,-1,-11]

A l B

B coor  -2 –2

B info

 

Salida:

Matrix B(4 x 4):

[1, 0, 0, 0]

[-1/2, 1, 0, 0]

[0, 2/9, 1, 0]

[-1/4, 13/18, 0.53, 1]

 

 

Operación solve:  Resuelve un sistema de ecuaciones a partir de un de la matriz de coeficientes y la matriz de los términos constantes.

 

Sintaxis: objectname  solve matrix2  variable

1.       objectname: El nombre de la matriz

2.       solve : La operación.

3.       matrix2: La matriz de los términos constantes.

4.       variable: Es el nombre de la nueva matriz, opcional, si no se especifica, la matriz actual contendrá el resultado.

 

Ejemplo:

Para este ejemplo vamos a resolver el mismo sistema que se resolvió usando la operación zero.

 

Sistema a resolver.

 

 

 

 

 

 

Las matrices correspondientes:

Nótese que ambos sistemas tienen la misma matriz de coeficientes.

 

 

 

 

 

 

 

 

 

 


matrix create A [2,-4,0,0][1,-3,0,1][1,0,-1,2][3,-4,3,-1]

matrix create B [-10,-8][-4,-2][4,9][,-11,-15]

B coor -2 -2

A solve B C

C coor 2 2

 

Solución en la matriz C. Que son los mismos valores que en la solución anterior.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 



[1] Las características de presentación están dirigidas para el uso docente.

[2] Característica especialmente diseñada para trabaja con matrices aumentadas.

Hosted by www.Geocities.ws

1