TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

martes, 29 de diciembre de 2015

Manual del programa de cálculo con matrices con Android / Manual of the calculation program with matrices with Android

Este programa ha sido creado con los objetivos de simplificación y potencia. Simplificación en la facilidad de inserción de datos (hablando de matrices, éstos siempre son abundantes) y potencia, al referirnos a la capacidad de calcular determinates, inversas, autovalores y resolución de ecuaciones.

This program has been created with the objectives of simplification and computing power. Simplification by the ease of data insertion (these are always many) and calculation power, when we refer to the ability to calculate determinates, inverses, eigenvalues and resolution of equations.

La portada principal es ésta:
The main screen is this:


La opción nuevo pone a cero los valores de la matriz y dimensiona su tamaño.
Al arrancar siempre aparecerá la última matriz utilizada.

The new option zeroes the values of the matrix and dimensions its size.
When starting, the last used matrix will always appear.

Pulsando Edición,
Pressing Edit


Podremos ir cambiando los valores de la matriz.

You can change the values of the matrix.

Pulsando Salir,
Pressing Exit,

Saldremos de la edición.
You will leave the edition.

Pulsando Determinante,
Pressing Determinant,



Obtendremos el valor del determiante.
You will obtain the value of the determinant.

Pulsando Inversa,
Pressing Inverse,



Obtendremos la inversa.
You will get the inverse.

Pulsando Autovalores,
Pressing Eigenvalues,



Obtendremos el polinomio característico y los valores de los autovalores (raíces del polinomio característico).

You will obtain the characteristic polynomial and the values of the eigenvalues (roots of the characteristic polynomial).

Ahora se puede resolver los valores de P, P-1 ,y D que resuelven las ecuaciones
 P·D·P-1= A (matriz dato)

Now you can solve the values of P, P-1, and D that solve the equations
 P·D·P-1= A (data matrix)



Pulsando Ecuaciones,
Pressing Equations,




Podremos editar la matriz de términos independientes. La resolución de ecuaciones se hace por dós métodos. El primero consiste en el producto de la matriz inversa por la de términos independiente y el segundo, por el método de Gauss-Jordan. Esto es importante porque en el caso de una inversa inexistente, determinante nulo o si el sistema es incompatible o indeterminado.

You can edit the matrix of independent terms. The resolution of equations is done by two methods. The first consists of the product of the inverse matrix for the independent term and the second, by the Gauss-Jordan method. This is important because in the case of a non-existent inverse, null determinant or if the system is incompatible or indeterminate.

El botón Informe,
The Report button,



Exporta el resultado en formato HTML. Lo cual permite visualizarse en cualquier navegador.
It exports the result in HTML format. Which allows to be viewed in any browser.


Y de ahí, por ejemplo, imprimirse en PDF:
And from there, for example, print in PDF:


El resto de botones;
The rest of buttons;


Como es habitual, en nuestros programas nos llevarán a Abakal, Ingenieros Consultores (Nuestro patrocinador), al manual de intrucciones (éste blog)
As usual, our programs will take us to Abakal, Ingenieros Consultores (Our sponsor), to the instructions manual (this blog)

Nuevo en la versión "I": Diagonalización de matrices

New in the "I" version: Diagonalization of matrices

Ahora se puede resolver los valores de P, P-1 ,y D que resuelven las ecuaciones
 P·D·P-1= A (matriz dato)
Now you can solve the values of P, P-1, and D that solve the equations
 P·D·P-1= A (data matrix)



martes, 22 de diciembre de 2015

Manual de instrucciones del programa de resolución de raíces de polinomios

El día 18/4/2019 dejó de estar publicada en Google-Play-Store porque pasó a formar parte de la app "Calculadora científica" disponible en: https://play.google.com/store/apps/details?id=com.nieto.luis.calculadora.calculadora. SI desea ver las instrucciones de esta app puede visualizarlas en: https://carreteras-laser-escaner.blogspot.com/2018/11/calculadora-en-android-instrucciones.html.
SI desea saber algo más acerca de raíces de polinimios, por favor, envíe un e-mail

El programa de resolución de polinomios es bastante sencillo de utilizar. La presentación inicial es la siguiente:


Al pulsar el botón "Cambiar coef." podremos escribir la serie de números que constituirán la ecuación. De esta manera si escribimos "1,-5,0.00005263,-3" el programa buscará las raíces de la ecuación: x3−5x2+0.00005263x3=0:

x= 5.1146693
x− 0.05733465 + 0.7637152i
x− 0.05733465 − 0.7637152i


Inicialmente la precisión está predefinida en ±1E-5, pero ésta puede modificarse.



Para visualizar los ceros es posible ver la gráfica y así sus puntos de corte:


Se puede elegir entre la gráfica simple (por defecto) y las gráficas 3D y/o cromáticas.

Gráficas 3D:


Cromáticas:



miércoles, 18 de noviembre de 2015

Cálculo de la capacidad de una glorieta con Android

En breve, subiremos a la tienda de Google, nuestra última aplicación. Esta vez la dedicamos al cálculo de la capacidad de una glorieta.


Metodología


La metodología es del tipo "fuerza bruta". El algoritmo se basa en una virtualización acelerada del proceso. Los vehículos se irán moviendo a la velocidad adecuada. Los vehículos cumplen las normas de circulación y actúan como conductores habituales, es decir, conocen adecuadamente la trayectoria a seguir. Por otro lado, los vehículos pesados tienen una velocidad menor y son más lentos de reaccionar, como cabría de esperar.

Edición / modificación de datos


Todos los datos son editables.

Puede modificarse el diámetro interior de la glorieta (de 10 a 50metros):




El número de carriles (1 ó 2):


 Y el número de ramales (de 3 a 8)



Datos de cálculo de cada ramal:


También son editables, el ángulo que forma cada ramal, la intensidad de tráfico (vehículo/hora), el porcentaje de vehículos pesados y si cada ramal tiene ambos sentidos o sólo uno de ellos:




Botón de "CALCULO"


Al pulsar sobre el botón de cálculo comienzan los coches a circular y se empiezan a contabilizar las demoras.


Al pulsar sobre el dibujo se cambia a la gráfica de demoras:


El botón de "CÁLCULO" pasa a denominarse "PARAR".

Botón de "PARAR"


Pulsando este botón se interrumpe el ensayo.


El botón de "PARAR" pasa a denominarse "INFORME".

Botón de "INFORME"


Pulsando el botón de "INFORME". se guardan los gráficos Croquis.png y Gráfica.png. Al tiempo aparecerá un mensaje indicando dónde han sido guardados:








Mas información de glorietas en:





Sobre el algoritmo de cálculo:



















viernes, 30 de octubre de 2015

Números cíclicos binarios. Autooperadores.

Otra posibilidad es la de partir de una secuencia cíclica y pasar el operador por sus elementos.

Sea la secuencia cíclica: {0,1,0,0,1,1,0,1,0,0} y el operador XOR







XOR


0 0 0

0 1 1

1 0 1

1 1 0






El resultado de cada pareja es:
        (0,1) →  1
        (1,0) →  1
        (0,0) →  0
        (0,1) →  1
        (1,1) →  0
        (1,0) →  1
        (0,1) →  1
        (1,0) →  1
        (0,0) →  0
        (0,0) →  0

Luego
        XOR{0,1,0,0,1,1,0,1,0,0} = {1,1,0,1,0,1,1,1,0,0}
Podríamos continuar,
        XOR{1,1,0,1,0,1,1,1,0,0} = {0,1,1,1,1,0,0,1,0,1}
        XOR{0,1,1,1,1,0,0,1,0,1} = {1,0,0,0,1,0,1,1,1,1}
        XOR{1,0,0,0,1,0,1,1,1,1} = {1,0,0,1,1,1,0,0,0,0}
        XOR{1,0,0,1,1,1,0,0,0,0} = {1,0,1,0,0,1,0,0,0,1}
        XOR{1,0,1,0,0,1,0,0,0,1} = {1,1,1,0,1,1,0,0,1,0}
        XOR{1,1,1,0,1,1,0,0,1,0} = {0,0,1,1,0,1,0,1,1,1}

A partir de aqui se repite: {0,0,1,1,0,1,0,1,1,1} = {1,1,0,1,0,1,1,1,0,0}


Con la misma secuencia cíclica: {0,1,0,0,1,1,0,1,0,0} y el operador AND

AND{0,1,0,0,1,1,0,1,0,0} = {0,0,0,0,1,0,0,0,0,0} si contúna actuando AND se convertirá la secuencia en ceros.

Con la misma secuencia cíclica: {0,1,0,0,1,1,0,1,0,0} y el operador OR

OR{0,1,0,0,1,1,0,1,0,0} = {1,1,0,1,1,1,1,1,0,0} si contúna actuando OR se convertirá la secuencia en unos.

Esto simplemente es un manera en que el propio dato se convierte en parte del operador.




jueves, 29 de octubre de 2015

Números cíclicos binarios. Operadores.

El hecho de partir de elementos binarios en los números cíclicos es por la facilidad de definir operaciones.

Los operadores más sencillos en números binarios son "AND", "OR" y "XOR".

AND

OR

XOR
0 0 0
0 0 0
0 0 0
0 1 0
0 1 1
0 1 1
1 0 0
1 0 1
1 0 1
1 1 1
1 1 1
1 1 0

Si partimos del conjunto de cuatro elementos:

[ {0,0,0,0}, {0,0,0,1}, {0,0,1,1}, {0,1,0,1}, {0,1,1,1} y {1,1,1,1} ]

El operador operará sobre cada elemento,
(No olvidar que los elementos son rotables {0,0,0,1} = {0,0,1,0} = {0,1,0,0} = {1,0,0,0}

a modo de ejemplo:
{0,0,0,1}&{0,0,0,1}={0&0,0&0,0&0,1&1} = {0,0,0,1}

pero también:
{0,0,0,1}&{0,0,1,0}={0&0,0&0,0&1,0&1} = {0,0,0,0}
{0,0,0,1}&{0,1,0,0}={0&0,0&1,0&0,0&1} = {0,0,0,0}
{0,0,0,1}&{1,0,0,0}={0&1,0&0,0&0,0&1} = {0,0,0,0}

Solución:

{0,0,0,1}&{0,0,0,1}={0,0,0,1}25%, {0,0,0,1}75%

Y continuando:















AND

OR

XOR


0000 0000 0000
0000 0000 0000
0000 0000 0000

0000 0001 0000
0000 0001 0001
0000 0001 0001

0000 0011 0000
0000 0011 0011
0000 0011 0011

0000 0101 0000
0000 0101 0101
0000 0101 0101

0000 0111 0000
0000 0111 0111
0000 0111 0111

0000 1111 0000
0000 1111 1111
0000 1111 1111














0001 0000 0000
0001 0000 0001
0001 0000 0001

0001 0001 0000 75%, 0001 25%
0001 0001 0001 25%, 0011 50%, 0101 25%
0001 0001 0000 25%, 0001 75%

0001 0011 0000 50%, 0001 50%
0001 0011 0011 50%, 0111 50%
0001 0011 0001 50%, 0111 50%

0001 0101 0000 50%, 0001 50%
0001 0101 0101 50%, 0111 50%
0001 0101 0001 50%, 0111 50%

0001 0111 0000 25%, 0001 75%
0001 0111 0111 75%, 1111 25%
0001 0111 0011 50%, 0101 25%, 1111 25%

0001 1111 0001
0001 1111 1111
0001 1111 0111














0011 0000 0000
0011 0000 0011
0011 0000 0011

0011 0001 0000 50%, 0001 50%
0011 0001 0011 50%, 0111 50%
0011 0001 0001 50%, 0111 50%

0011 0011 0000 25%, 0001 50%, 0011 25%
0011 0011 0011 25%, 0111 50%, 1111 25%
0011 0011 0000 25%, 0101 50%, 1111 25%

0011 0101 0001
0011 0101 0111
0011 0101 0011

0011 0111 0001 50%, 0011 50%
0011 0111 0111 50%, 1111 50%
0011 0111 0001 50%, 0111 50%

0011 1111 0011
0011 1111 1111
0011 1111 0011














0101 0000 0000
0101 0000 0101
0101 0000 0101

0101 0001 0000 50%, 0001 50%
0101 0001 0101 50%, 0111 50%
0101 0001 0001 50%, 0111 50%

0101 0011 0001
0101 0011 0111
0101 0011 0011

0101 0101 0000 50%, 0101 50%
0101 0101 0101 50%, 1111 50%
0101 0101 0000 50%, 1111 50%

0101 0111 0100 50%, 0101 50%
0101 0111 0111 50%, 1111 50%
0101 0111 0101 50%, 0111 50%

0101 1111 0101
0101 1111 1111
0101 1111 0101














0111 0000 0000
0111 0000 0111
0111 0000 0111

0111 0001 0000 25%, 0001 75%
0111 0001 0111 75%, 1111 25%
0111 0001 0011 50%, 0101 25%, 1111 25%

0111 0011 0001 50%, 0011 50%
0111 0011 0111 50%, 1111 50%
0111 0011 0001 50%, 0111 50%

0111 0101 0001 50%, 0101 50%
0111 0101 0111 50%, 1111 50%
0111 0101 0101 50%, 0111 50%

0111 0111 0001 50%, 0101 50%
0111 0111 0111 25%, 1111 75%
0111 0111 0000 25%, 0011 50%, 1010 25%

0111 1111 0111
0111 1111 1111
0111 1111 0001














1111 0000 0000
1111 0000 1111
1111 0000 1111

1111 0001 0001
1111 0001 1111
1111 0001 0111

1111 0011 0011
1111 0011 1111
1111 0011 0011

1111 0101 0101
1111 0101 1111
1111 0101 0101

1111 0111 0111
1111 0111 1111
1111 0111 0001

1111 1111 1111
1111 1111 1111
1111 1111 0000













Si nos perdemos con tanto cero y uno si cambiamos:

1: {0,0,0,0}, 2: {0,0,0,1} , 3: {0,0,1,1} , 4: {0,1,0,1}, 5: {0,1,1,1} y 6: {1,1,1,1} 

Obtendríamos:















AND

OR

XOR


0 0 0
0 0 0
0 0 0

0 1 0
0 1 1
0 1 1

0 2 0
0 2 2
0 2 2

0 3 0
0 3 3
0 3 3

0 4 0
0 4 4
0 4 4

1 5 0
1 5 5
1 5 5














1 0 0
1 0 1
1 0 1

1 1 0 75%, 1 25%
1 1 1 25%, 2 50%, 3 25%
1 1 0 25%, 1 75%

1 2 0 50%, 1 50%
1 2 2 50%, 4 50%
1 2 1 50%, 4 50%

1 3 0 50%, 1 50%
1 3 3 50%, 4 50%
1 3 1 50%, 4 50%

1 4 0 25%, 1 75%
1 4 4 75%, 5 25%
1 4 2 50%, 3 25%, 5 25%

1 5 1
1 5 5
1 5 0111














2 0 0
2 0 2
2 0 2

2 1 0 50%, 1 50%
2 1 2 50%, 4 50%
2 1 1 50%, 4 50%

2 2 0 25%, 1 50%, 2 25%
2 2 2 25%, 4 50%, 5 25%
2 2 0 25%, 3 50%, 5 25%

2 3 2
2 3 4
2 3 2

2 4 1 50%, 2 50%
2 4 4 50%, 5 50%
2 4 1 50%, 4 50%

2 5 0011
2 5 5
2 5 2














3 0 0
3 0 3
3 0 3

3 1 0 50%, 1 50%
3 1 3 50%, 4 50%
3 1 1 50%, 4 50%

3 2 2
3 2 4
3 2 2

3 3 0 50%, 3 50%
3 3 3 50%, 5 50%
3 3 0 50%, 5 50%

3 4 1 50%, 3 50%
3 4 4 50%, 5 50%
3 4 3 50%, 4 50%

3 5 3
3 5 5
3 5 3














4 0 0
4 0 4
4 0 4

4 1 0 25%, 1 75%
4 1 4 75%, 5 25%
4 1 2 50%, 3 25%, 5 25%

4 2 1 50%, 2 50%
4 2 4 50%, 5 50%
4 2 1 50%, 4 50%

4 3 1 50%, 3 50%
4 3 4 50%, 5 50%
4 3 3 50%, 4 50%

4 4 1 50%, 3 50%
4 4 4 25%, 5 75%
4 4 0 25%, 2 50%, 3 25%

4 5 5
4 5 5
4 5 0001














5 0 0
5 0 5
5 0 5

5 1 1
5 1 5
5 1 0111

5 2 2
5 2 5
5 2 0011

5 3 3
5 3 5
5 3 0101

5 4 4
5 4 5
5 4 0001

5 5 5
5 5 5
5 5 0000