// 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("Voer een geldige waarde in om toe te voegen.");
}
}
function updateAddedValuesOne() {
document.getElementById("added-values-one").innerText = valuesOne.join(', ');
document.getElementById("count-one").innerText = `Aantal=${valuesOne.length}`;
}
function clearValuesOne() {
valuesOne = [];
document.getElementById("added-values-one").innerText = '';
document.getElementById("count-one").innerText = 'Aantal=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("Voeg waarden toe om het gemiddelde van kwadraten te berekenen.");
}
}
function calculateStatisticsOne() {
if (valuesOne.length > 0) {
const result = valuesOne.reduce((acc, val) => acc + val, 0);
document.getElementById("result-one").innerText = result;
clearWarningOne();
} else {
displayWarningOne("Voeg waarden toe om statistieken te berekenen.");
}
}
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("Voeg waarden toe om het gemiddelde te berekenen.");
}
}
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("Voeg waarden toe om de som te berekenen.");
}
}
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("Voeg waarden toe om de standaardafwijking te berekenen.");
}
}
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("Voeg waarden toe om de som van kwadraten te berekenen.");
}
}
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("Voeg waarden toe om de variantie te berekenen.");
}
}
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("Voeg meer dan één waarde toe om de steekproefstandaardafwijking te berekenen.");
}
}
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("Voeg meer dan één waarde toe om de steekproefvariantie te berekenen.");
}
}
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("Voeg waarden toe om het meetkundig gemiddelde te berekenen.");
}
}
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("Voer een waarde in om de exponentiële functie te berekenen.");
}
}
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("Voer geldige getallen in, gescheiden door komma's.");
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 = '-Oneindig';
document.getElementById("stat-smallest-two").innerText = 'Oneindig';
document.getElementById("stat-range-two").innerText = '-Oneindig';
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(', ');
}
Gebruik van de Statistische Rekenmachines
Deze gids introduceert twee veelzijdige rekenmachines die zijn ontworpen om een verscheidenheid aan statistische berekeningen eenvoudig uit te voeren. Of je nu een student, professional of data-enthousiasteling bent, deze tools vereenvoudigen complexe berekeningen voor dagelijks gebruik.
Rekenmachine Eén is ontworpen voor gebruikers die nummers dynamisch willen invoeren en realtime statistische berekeningen willen uitvoeren. Het is perfect voor het berekenen van het gemiddelde, de variantie, de standaarddeviatie en andere gerelateerde statistieken zonder vooraf gedefinieerde datasets.
Belangrijkste Kenmerken
Dynamische Invoer: Voeg nummers individueel toe en bekijk een lopend totaal van alle ingevoerde waarden.
Veelzijdige Operaties:
Basisstatistieken: Gemiddelde, som en aantal nummers.
Geavanceerde Statistieken: Varianties, standaarddeviatie en geometrisch gemiddelde.
Aangepaste Berekeningen: Gemiddelde van kwadraten en som van kwadraten.
Intuïtieve Knoppen:
Voeg snel waarden toe, wissel van teken of wis invoer.
Gespecialiseerde functies voor exponentiële en geometrische gemiddelde berekeningen.
Hoe te Gebruiken
Voeg Nummers Toe:
Voer een nummer in het invoerveld in en druk op ADD.
Gebruik alternatieve de numerieke knoppen om nummers direct in te voeren.
Voer Berekeningen Uit:
Klik op de respectieve knop voor de gewenste operatie, zoals Σx (som), x̄ (gemiddelde) of σ² (variantie).
Wissen van Waarden:
Gebruik C om het huidige invoerveld te wissen.
Gebruik CAD om alle waarden te resetten.
Bekijk Resultaten:
Het resultaat van de geselecteerde berekening wordt onderaan de rekenmachine weergegeven.
Voorbeeld Gebruik
Je hebt een lijst met toetsresultaten: 85, 90, 78, 92.
Voeg elk resultaat één voor één toe met ADD.
Druk op x̄ om het gemiddelde te berekenen of σ voor de standaarddeviatie.
Rekenmachine Twee: Bulk Data Statistische Analyse
Doel
Rekenmachine Twee is ideaal voor het analyseren van een vooraf gedefinieerde dataset die is ingevoerd als door komma's gescheiden waarden. Het is geschikt voor snelle inzichten in grotere datasets.
Belangrijkste Kenmerken
Batch Invoer: Plak of typ een lijst met waarden gescheiden door komma's.