統計計算器

分類:統計學
計數=0
結果: 0

統計計算器 - 逗號分隔輸入

計數0
總和0
平均值NaN
中位數NaN
眾數
最大值-Infinity
最小值Infinity
範圍-Infinity
幾何平均數NaN
標準差NaN
變異數NaN
樣本標準差NaN
樣本變異數NaN
排序後的數據
// JavaScript for Calculator One let valuesOne = []; document.addEventListener('DOMContentLoaded', function() { // Add touch event handlers for mobile const buttons = document.querySelectorAll('.calculator-one-button'); buttons.forEach(button => { button.addEventListener('touchstart', function(e) { e.preventDefault(); this.click(); }); }); }); function addValueOne() { const value = parseFloat(document.getElementById("current-value-one").value); if (!isNaN(value)) { valuesOne.push(value); updateAddedValuesOne(); document.getElementById("current-value-one").value = ''; calculateStatisticsOne(); clearWarningOne(); } else { displayWarningOne("請輸入有效的數值以新增。"); } } function updateAddedValuesOne() { document.getElementById("added-values-one").innerText = valuesOne.join(', '); document.getElementById("count-one").innerText = `數量=${valuesOne.length}`; } function clearValuesOne() { valuesOne = []; document.getElementById("added-values-one").innerText = ''; document.getElementById("count-one").innerText = '數量=0'; document.getElementById("current-value-one").value = '0'; document.getElementById("result-one").innerText = '0'; clearWarningOne(); } function clearCurrentValueOne() { document.getElementById("current-value-one").value = '0'; clearWarningOne(); } function appendValueOne(val) { let currentValue = document.getElementById("current-value-one").value; if (currentValue === '0' && val !== '.') { currentValue = ''; } document.getElementById("current-value-one").value = currentValue + val; clearWarningOne(); } function toggleSignOne() { let currentValue = document.getElementById("current-value-one").value; if (currentValue) { currentValue = parseFloat(currentValue); document.getElementById("current-value-one").value = (-currentValue).toString(); } } function calculateMeanOfSquaresOne() { if (valuesOne.length > 0) { const sumOfSquares = valuesOne.reduce((acc, val) => acc + Math.pow(val, 2), 0); const meanOfSquares = sumOfSquares / valuesOne.length; document.getElementById("result-one").innerText = meanOfSquares.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算平方平均值。"); } } function calculateStatisticsOne() { if (valuesOne.length > 0) { const result = valuesOne.reduce((acc, val) => acc + val, 0); document.getElementById("result-one").innerText = result; clearWarningOne(); } else { displayWarningOne("請新增數值以計算統計數據。"); } } function calculateMeanOne() { if (valuesOne.length > 0) { const mean = valuesOne.reduce((acc, val) => acc + val, 0) / valuesOne.length; document.getElementById("result-one").innerText = mean.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算平均值。"); } } function calculateSumOne() { if (valuesOne.length > 0) { const sum = valuesOne.reduce((acc, val) => acc + val, 0); document.getElementById("result-one").innerText = sum.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算總和。"); } } function calculateStdDevOne() { if (valuesOne.length > 0) { const mean = valuesOne.reduce((acc, val) => acc + val, 0) / valuesOne.length; const variance = valuesOne.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / valuesOne.length; const stdDev = Math.sqrt(variance); document.getElementById("result-one").innerText = stdDev.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算標準差。"); } } function calculateSumOfSquaresOne() { if (valuesOne.length > 0) { const sumOfSquares = valuesOne.reduce((acc, val) => acc + val * val, 0); document.getElementById("result-one").innerText = sumOfSquares.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算平方和。"); } } function calculateVarianceOne() { if (valuesOne.length > 0) { const mean = valuesOne.reduce((acc, val) => acc + val, 0) / valuesOne.length; const variance = valuesOne.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / valuesOne.length; document.getElementById("result-one").innerText = variance.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算變異數。"); } } function calculateSampleStdDevOne() { if (valuesOne.length > 1) { const mean = valuesOne.reduce((acc, val) => acc + val, 0) / valuesOne.length; const variance = valuesOne.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / (valuesOne.length - 1); const sampleStdDev = Math.sqrt(variance); document.getElementById("result-one").innerText = sampleStdDev.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增多於一個數值以計算樣本標準差。"); } } function calculateSampleVarianceOne() { if (valuesOne.length > 1) { const mean = valuesOne.reduce((acc, val) => acc + val, 0) / valuesOne.length; const sampleVariance = valuesOne.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / (valuesOne.length - 1); document.getElementById("result-one").innerText = sampleVariance.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增多於一個數值以計算樣本變異數。"); } } function calculateGeometricMeanOne() { if (valuesOne.length > 0) { const product = valuesOne.reduce((acc, val) => acc * val, 1); const geometricMean = Math.pow(product, 1 / valuesOne.length); document.getElementById("result-one").innerText = geometricMean.toFixed(2); clearWarningOne(); } else { displayWarningOne("請新增數值以計算幾何平均值。"); } } function calculateExpOne() { const value = parseFloat(document.getElementById("current-value-one").value); if (!isNaN(value)) { const result = Math.exp(value); document.getElementById("result-one").innerText = result.toFixed(2); clearWarningOne(); } else { displayWarningOne("請輸入數值以計算指數值。"); } } function displayWarningOne(message) { document.getElementById("warning-message-one").innerText = message; } function clearWarningOne() { document.getElementById("warning-message-one").innerText = ''; } // JavaScript for Calculator Two function calculateStatisticsTwo() { const values = document.getElementById("values-input-two").value.split(",").map(Number); if (values.some(isNaN)) { alert("請輸入以逗號分隔的有效數字。"); return; } const stats = calculateStatistics(values); document.getElementById("stat-count-two").innerText = stats.count; document.getElementById("stat-sum-two").innerText = stats.sum.toFixed(10); document.getElementById("stat-mean-two").innerText = stats.mean.toFixed(10); document.getElementById("stat-median-two").innerText = stats.median.toFixed(10); document.getElementById("stat-mode-two").innerText = stats.mode; document.getElementById("stat-largest-two").innerText = stats.largest.toFixed(10); document.getElementById("stat-smallest-two").innerText = stats.smallest.toFixed(10); document.getElementById("stat-range-two").innerText = stats.range.toFixed(10); document.getElementById("stat-geometric-mean-two").innerText = stats.geometricMean.toFixed(10); document.getElementById("stat-stddev-two").innerText = stats.stddev.toFixed(10); document.getElementById("stat-variance-two").innerText = stats.variance.toFixed(10); document.getElementById("stat-sample-stddev-two").innerText = stats.sampleStddev.toFixed(10); document.getElementById("stat-sample-variance-two").innerText = stats.sampleVariance.toFixed(10); document.getElementById("stat-sorted-two").innerText = stats.sortedValues.join(', '); } function clearValuesTwo() { document.getElementById("values-input-two").value = ''; document.getElementById("stat-count-two").innerText = '0'; document.getElementById("stat-sum-two").innerText = '0'; document.getElementById("stat-mean-two").innerText = 'NaN'; document.getElementById("stat-median-two").innerText = 'NaN'; document.getElementById("stat-mode-two").innerText = ''; document.getElementById("stat-largest-two").innerText = '-Infinity'; document.getElementById("stat-smallest-two").innerText = 'Infinity'; document.getElementById("stat-range-two").innerText = '-Infinity'; document.getElementById("stat-geometric-mean-two").innerText = 'NaN'; document.getElementById("stat-stddev-two").innerText = 'NaN'; document.getElementById("stat-variance-two").innerText = 'NaN'; document.getElementById("stat-sample-stddev-two").innerText = 'NaN'; document.getElementById("stat-sample-variance-two").innerText = 'NaN'; document.getElementById("stat-sorted-two").innerText = ''; } function calculateStatistics(values) { const sortedValues = [...values].sort((a, b) => a - b); const sum = values.reduce((acc, val) => acc + val, 0); const mean = sum / values.length; const median = values.length % 2 === 0 ? (sortedValues[values.length / 2 - 1] + sortedValues[values.length / 2]) / 2 : sortedValues[Math.floor(values.length / 2)]; const mode = findMode(values); const range = Math.max(...values) - Math.min(...values); const variance = values.reduce((acc, val) => acc + Math.pow(val - mean, 2), 0) / values.length; const stddev = Math.sqrt(variance); const sampleVariance = values.length > 1 ? (variance * values.length) / (values.length - 1) : NaN; const sampleStddev = Math.sqrt(sampleVariance); const geometricMean = Math.pow(values.reduce((acc, val) => acc * val, 1), 1 / values.length); return { count: values.length, sum, mean, median, mode, largest: Math.max(...values), smallest: Math.min(...values), range, geometricMean, stddev, variance, sampleStddev, sampleVariance, sortedValues, }; } function findMode(array) { const frequency = {}; let maxFrequency = 0; let mode = []; array.forEach(value => { frequency[value] = (frequency[value] || 0) + 1; if (frequency[value] > maxFrequency) { maxFrequency = frequency[value]; mode = [value]; } else if (frequency[value] === maxFrequency) { mode.push(value); } }); return mode.length === 1 ? mode[0] : mode.join(', '); }

使用統計計算器

本指南介紹了兩款多功能計算器,旨在輕鬆處理各種統計計算。無論您是學生、專業人士還是數據愛好者,這些工具都能簡化日常使用中的複雜計算。

計算器一:動態統計計算

目的

計算器一專為希望動態輸入數字並進行實時統計計算的用戶設計。它非常適合計算均值、方差、標準差及其他相關指標,而無需預先定義數據集。

主要特點

  • 動態輸入:逐個添加數字,並查看所有輸入值的累計總和。
  • 多功能操作
  • 基本統計:均值(平均數)、總和和數字計數。
  • 高級指標:方差、標準差和幾何均值。
  • 自定義計算:平方均值和平方和。
  • 直觀按鈕
  • 快速添加值、切換符號或清除輸入。
  • 專用函數用於指數和幾何均值計算。

如何使用

  1. 添加數字
  2. 在輸入框中輸入一個數字,然後按 ADD
  3. 或者,使用數字按鈕直接輸入數字。
  4. 執行計算
  5. 點擊所需操作的相應按鈕,例如 Σx(總和)、(均值)或 σ²(方差)。
  6. 清除值
  7. 使用 C 清除當前輸入欄位。
  8. 使用 CAD 重置所有值。
  9. 查看結果
  10. 所選計算的結果將顯示在計算器底部。

示例用例

  • 您有一組測試分數:85、90、78、92。
  • 使用 ADD 一次添加每個分數。
  • 計算平均數或按 σ 計算標準差。

計算器二:批量數據統計分析

目的

計算器二非常適合分析作為逗號分隔值輸入的預定數據集。它適合快速洞察較大數據集。

主要特點

  • 批量輸入:粘貼或輸入以逗號分隔的數值列表。
  • 全面指標
  • 基本:計數、總和、均值、中位數和眾數。
  • 高級:標準差、方差、幾何均值。
  • 附加:最大值、最小值、範圍和排序數據。
  • 詳細輸出
  • 結果以清晰的表格格式顯示,便於解釋。

如何使用

  1. 輸入數據
  2. 在文本框中以逗號分隔的列表輸入數字。
  3. 示例:10, 20, 30, 40, 50
  4. 執行計算
  5. 點擊 Calculate 按鈕生成完整的統計分析。
  6. 清除數據
  7. 使用 Clear 按鈕重置輸入和輸出欄位。
  8. 查看結果
  9. 檢查表格以獲取均值、中位數、眾數等指標。

示例用例

  • 您有一周的銷售數字:200、150、300、250、100。
  • 在文本框中輸入這些值並按 Calculate
  • 立即查看平均銷售額、數值範圍,甚至眾數。

為什麼使用這些計算器?

效率

快速執行多個計算,而無需手動計算數字。

準確性

依賴這些工具提供精確的結果,即使是最複雜的統計計算。

用戶友好設計

這些計算器具有直觀的界面和簡單的說明,從初學者到高級用戶都能輕鬆使用。

今天就開始探索這些計算器的強大功能,簡化您的統計分析!