Untitled
unknown
plain_text
2 months ago
1.4 kB
3
Indexable
const data = msg.payload; // Parsed CSV data (array of rows) const amplitudes = data.map(row => parseFloat(row.col1)); // Replace 'col1' with the column containing displacement data // Calculate Maximum and Minimum Amplitude const maxAmplitude = Math.max(...amplitudes); const minAmplitude = Math.min(...amplitudes); // Calculate Mean const mean = amplitudes.reduce((sum, val) => sum + val, 0) / amplitudes.length; // Calculate Standard Deviation const stdDev = Math.sqrt(amplitudes.reduce((sum, val) => sum + Math.pow(val - mean, 2), 0) / amplitudes.length); // Calculate Logarithmic Decrement const logDecrements = []; for (let i = 1; i < amplitudes.length; i++) { if (amplitudes[i - 1] > amplitudes[i]) { const delta = Math.log(amplitudes[i - 1] / amplitudes[i]); logDecrements.push(delta); } } const avgLogDecrement = logDecrements.reduce((sum, val) => sum + val, 0) / logDecrements.length; // Calculate Damping Ratio const zeta = avgLogDecrement / Math.sqrt(4 * Math.PI ** 2 + avgLogDecrement ** 2); // Calculate Damping Constant (Assume values for mass (m) and stiffness (k)) const mass = 1; // Example value (kg) const stiffness = 100; // Example value (N/m) const dampingConstant = 2 * zeta * Math.sqrt(stiffness * mass); // Output the results msg.payload = { maxAmplitude, minAmplitude, stdDev, avgLogDecrement, zeta, dampingConstant, amplitudes, logDecrements }; return msg;
Editor is loading...
Leave a Comment