// script.js
function crearMatrices() {
const numGrados = parseInt(document.getElementById("numGrados").value);
const matricesDiv = document.getElementById("matrices");
// Crear matrices vacías
const matrizK = [];
const matrizM = [];
const vectorLambda = [];
// Inicializar matrices y vector con ceros
for (let i = 0; i < numGrados; i++) {
matrizK[i] = [];
matrizM[i] = [];
vectorLambda[i] = 0;
for (let j = 0; j < numGrados; j++) {
matrizK[i][j] = 0;
matrizM[i][j] = 0;
}
}
// Crear tabla para editar la matriz K
let html = `
Matriz K
`;
for (let i = 0; i < numGrados; i++) {
html += "
";
for (let j = 0; j < numGrados; j++) {
html += `
`;
}
html += "
";
}
html += "
";
// Crear tabla para editar la matriz M
html += `
Matriz M
`;
for (let i = 0; i < numGrados; i++) {
html += "
";
for (let j = 0; j < numGrados; j++) {
html += `
`;
}
html += "
";
}
html += "
";
// Crear inputs para el vector lambda
html += `
Vector Lambda
`;
for (let i = 0; i < numGrados; i++) {
html += `
`;
}
html += "
";
// Agregar el HTML generado al div
matricesDiv.innerHTML = html;
// Agregar evento para actualizar las matrices cuando se cambia un valor
const inputs = document.querySelectorAll('input[type="number"]');
inputs.forEach(input => {
input.addEventListener('change', () => {
const row = parseInt(input.dataset.row);
const col = parseInt(input.dataset.col);
const value = parseFloat(input.value);
// Actualizar la matriz K o M o el vector lambda
if (input.closest('table').previousElementSibling.textContent === "Matriz K") {
matrizK[row][col] = value;
} else if (input.closest('table').previousElementSibling.textContent === "Matriz M") {
matrizM[row][col] = value;
} else {
vectorLambda[row] = value;
}
});
});
// Calcular determinantes
const determinantes = [calcularDeterminante(matrizK), calcularDeterminante(matrizM)];
// Mostrar los resultados
const resultadosDiv = document.createElement('div');
resultadosDiv.innerHTML = `
lñjlñ Frecuencia de Vibración Calculadora de Frecuencia de Vibración Masa m1 (kg): Masa m2 (kg): Rigidez k1 (N/m): Rigidez k2 (N/m): Calcular Frecuencias
Generador de Cercha Warren (DXF R12) Generador de Cercha Warren (DXF R12) Ancho de la cercha (m): Alto de la cercha (m): Número de segmentos: Generar DXF
Comentarios
Publicar un comentario