// 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 = `
Cálculo de Matrices de Rigidez y Masas Cálculo de Matrices /* Estilos para la tabla */ table { border-collapse: collapse; width: 100%; /* O ajustar según sea necesario */ } td, th { border: 1px solid black; padding: 5px; text-align: center; /* Centrar texto en celdas */ } const inputForm = document.getElementById('input-form'); const resultsDiv = document.getElementById('results'); // Function to create a number input with label function createNumberInput(label) { const input = document.createElement('input'); input.type = 'number'; input.placeholder = label; input.name = label; // Assign a unique name for easier value retrieval return input; } // Function to create a table with headers and rows function createTable(data) { if (!data || data.length === 0) { throw new Error('No hay datos para mostrar en la tabla.'); } const table = document.createElement('table'); const h...
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