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:
El cifrado francmasón es un cifrado por sustitución simple que cambia las letras por símbolos. Sin embargo, el uso de sí[...]
En un post anterior se vio como llenar un JTree en donde se conocía de antemano que estructura iba a tener esta sin emba[...]
En este tutorial crearemos una aplicación que bloqueara toda la pantalla de la PC y no nos dejara realizar ninguna tarea[...]
Rompecabezas 3×3 realizado en Visual Basic .NET, lo que se hizo fue una migración de un proyecto hecho en java (pue[...]
La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, e[...]
En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje[...]