Notación matemática formada por una tabla cuadrada de números, u otros elementos, entre dos líneas verticales; el valor de la expresión se calcula mediante su desarrollo siguiendo ciertas reglas. Los determinantes fueron originalmente investigados por el matemático japonés Seki Kowa alrededor de 1683 y, por separado, por el filósofo y matemático alemán Gottfried Wilhhelm Leibniz alrededor de 1693. Esta notación se utiliza en casi todas las ramas de las matemáticas y en las ciencias naturales. [Enciclopedia Microsoft Encarta 2001]
<!DOCTYPE html> <html> <head> <title>Determinante de una matriz NxN en javascript</title> <meta charset="UTF-8"> </head> <body> <script> /** * crea una matriz cuadrada * @param {integer} size dimension de la matriz * */ function createMatriz(size){ var matriz = new Array(size); for (i = 0; i < size ; i++){ matriz[i]=new Array(size); } return matriz; } /** * calcula el determinante de una matriz NxN * @param {array} matriz matriz a calcular * */ function determinante(matriz){ if(matriz.length==2){ var det=(matriz[0][0]*matriz[1][1])-(matriz[1][0]*matriz[0][1]); return det; } var suma = 0; for(var i = 0; i<matriz.length; i++){ var nm = createMatriz(matriz.length-1); for(var j=0; j<matriz.length; j++){ if(j!=i){ for(var k=1; k<matriz.length; k++){ var indice=-1; if(j<i) indice=j; else if(j>i) indice=j-1; nm[indice][k-1] = matriz[j][k]; } } } if(i%2==0){ suma += matriz[i][0] * determinante(nm); } else{ suma -= matriz[i][0] * determinante(nm); } } return suma; } function printMatriz(matriz){ for(var i=0; i<matriz.length; i++){ document.write("[ "); for(var j=0; j<matriz.length; j++){ document.write(matriz[i][j].toPrecision(precision) + " "); } document.write(" ]<br/>"); } } /* ---------------------------------- */ var precision = 5; /* var m = createMatriz(3); m[0][0]=1;m[0][1]=0.3;m[0][2]=0.5; m[1][0]=0;m[1][1]=1;m[1][2]=0.5; m[2][0]=-0.1;m[2][1]=0.7;m[2][2]=1; */ //definimos matriz y datos var m = createMatriz(4); m[0][0]=0.3;m[0][1]=2.3;m[0][2]=3.3;m[0][3]=2; m[1][0]=4;m[1][1]=5.4;m[1][2]=6;m[1][3]=3; m[2][0]=9;m[2][1]=8;m[2][2]=2;m[2][3]=0.01; m[3][0]=1;m[3][1]=0.1;m[3][2]=0.2;m[3][3]=3; //calculamos y mostramos en pantalla document.write("Matriz <br/>"); printMatriz(m); var d = determinante(m); document.write("determinante = " + d.toPrecision(precision) + "<br/>"); </script> </body> </html>
Ejecutando el ejemplo tenemos:
Eratóstenes era un matemático griego del siglo III a.C. el cual ideó una manera rápida de obtener todos los números pri[...]
Webcam Capture es un API que permite usar una cámara web incorporada o externa directamente desde código Java utilizand[...]
Un Fragment representa un comportamiento o una parte de la interfaz de usuario en una Activity. Puedes combinar múltiple[...]
Spark Framework es un conjunto de librerías para los lenguajes Java y Kotlin que nos sirve para el desarrollo rápido y s[...]
Kotlin es un lenguaje de programación de tipado estático que corre sobre la máquina virtual de Java y que también puede[...]
En este post personalizaremos un componente JComboBox para que sus elementos acepten tablas (JTable) en lugar de texto s[...]