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.
