Compare commits
41 Commits
v0.1
...
3675ee066f
Author | SHA1 | Date | |
---|---|---|---|
3675ee066f | |||
f7a0384ff3 | |||
19f9c3c333 | |||
eebc90e392 | |||
5acd4908ab | |||
f022fda0d6 | |||
6d6ef03710 | |||
b5d0d55290 | |||
81548b20e6 | |||
ede6827cb6 | |||
015da8fd34 | |||
326038107c | |||
a1b8f22383 | |||
fb4d81fe67 | |||
497c7d0bea | |||
b5db1fbdc2 | |||
1adc60c991 | |||
4980d8b57c | |||
8d048e9a68 | |||
f9a739f556 | |||
3b24d422d2 | |||
e8b1d79f79 | |||
0ce346b714 | |||
cbe1aeb123 | |||
da36eac98a | |||
dec3bdca0a | |||
7d2cf7e91a | |||
0cac8482b6 | |||
62d4d703a8 | |||
14ce9cdc3c | |||
67bf1b9936 | |||
7ab6041de2 | |||
c37263600a | |||
ed3960329d | |||
30d9e1189c | |||
7a2b0f6cf0 | |||
fdc6f484ad | |||
1fae1332bd | |||
b8e76b8e97 | |||
d7b8febf01 | |||
64174d5c8e |
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Ignore CMake files:
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles/
|
||||||
|
cmake_install.cmake
|
||||||
|
Makefile
|
||||||
|
|
||||||
|
# Ignore build files:
|
||||||
|
build/
|
13
CMakeLists.txt
Normal file
13
CMakeLists.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.6)
|
||||||
|
project(MMMCalc)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "-Wall -Wextra -pedantic-errors")
|
||||||
|
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g -O0")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3")
|
||||||
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g -O3")
|
||||||
|
set(CMAKE_C_FLAGS_MIN_SIZEREL "${CMAKE_C_FLAGS} -Os")
|
||||||
|
|
||||||
|
set(SRCS
|
||||||
|
src/Main.c)
|
||||||
|
|
||||||
|
add_executable(mmmcalc ${SRCS})
|
14
README.md
14
README.md
@ -1,6 +1,16 @@
|
|||||||
MMMCalc
|
MMMCalc
|
||||||
=======
|
=======
|
||||||
|
|
||||||
This is a very simple project, it was made for educational purposes (hence why it is open-source), and I encourage everyone to contribute if they have something to add.
|
### Compiling
|
||||||
|
MMMCalc uses [CMake](http://cmake.org/) to compile. Please install the C development tools and CMake (along with whichever build script you plan on having CMake generate) in order to run this command.
|
||||||
|
```bash
|
||||||
|
$ cd build/
|
||||||
|
$ cmake ..
|
||||||
|
$ make
|
||||||
|
```
|
||||||
|
|
||||||
To contact me, send me an e-mail at <nicolas.ortega.froysa@gmail.com>.
|
### Contributing
|
||||||
|
To contribute, simply open a pull request, however, be aware that this code is licensed under a GNU GPLv3 and so will yours.
|
||||||
|
|
||||||
|
### License
|
||||||
|
All code in this repository is under the [GNU GPLv3](/LICENSE).
|
||||||
|
0
build/.keep
Normal file
0
build/.keep
Normal file
@ -1,91 +0,0 @@
|
|||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Nicolás A. Ortega
|
|
||||||
* @copyright (C) Nicolás A. Ortega
|
|
||||||
* @license GNU General Public License 3.0 (GPLv3)
|
|
||||||
* @year 2014
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class MMMCalc {
|
|
||||||
private static float[] numArray;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
System.out.println("Welcome to MMMCalc v0.1, a simple tool for basic statistics calculations.\n" +
|
|
||||||
"This software is licensed under the GNU GPLv3 license and comes WITHOUT WARRANTY.\n");
|
|
||||||
if(args.length > 0) {
|
|
||||||
float sNum = 0;
|
|
||||||
numArray = new float[args.length];
|
|
||||||
|
|
||||||
for(int i = 0; i < args.length; i++) {
|
|
||||||
numArray[i] = Float.parseFloat(args[i]) - 0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
int nL = numArray.length;
|
|
||||||
float tmp = 0;
|
|
||||||
for(int i = 0; i < nL; i++) {
|
|
||||||
for(int j = 0; j >= (i+1); j--) {
|
|
||||||
if(numArray[j] < numArray[j-1]) {
|
|
||||||
tmp = numArray[j];
|
|
||||||
numArray[j] = numArray[j-1];
|
|
||||||
numArray[j-1] = tmp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
calcMean();
|
|
||||||
calcMedian();
|
|
||||||
calcMode();
|
|
||||||
} else {
|
|
||||||
System.out.println("You did not mention any variables.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void calcMean() {
|
|
||||||
float mean = 0;
|
|
||||||
float sum = 0;
|
|
||||||
|
|
||||||
for(float i: numArray) {
|
|
||||||
sum += i;
|
|
||||||
}
|
|
||||||
|
|
||||||
mean = sum / (float)numArray.length;
|
|
||||||
|
|
||||||
System.out.println("Mean: " + mean);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void calcMedian() {
|
|
||||||
int midVar = 0;
|
|
||||||
|
|
||||||
midVar = numArray.length / 2;
|
|
||||||
|
|
||||||
System.out.println("Median: " + numArray[midVar]);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void calcMode() {
|
|
||||||
HashMap<Float, Float> fx = new HashMap<Float, Float>();
|
|
||||||
|
|
||||||
for(float x: numArray) {
|
|
||||||
Float f = fx.get(x);
|
|
||||||
if(f == null) {
|
|
||||||
fx.put(x, (float)1);
|
|
||||||
} else {
|
|
||||||
fx.put(x, f + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
float mode = 0;
|
|
||||||
float modeFreq = 0;
|
|
||||||
|
|
||||||
for(Map.Entry<Float, Float> entry: fx.entrySet()) {
|
|
||||||
float freq = entry.getValue();
|
|
||||||
if(freq > modeFreq) {
|
|
||||||
modeFreq = freq;
|
|
||||||
mode = entry.getKey();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("Mode: " + mode + " (frequency: " + modeFreq + ")");
|
|
||||||
}
|
|
||||||
}
|
|
14
src/Main.c
Normal file
14
src/Main.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// 0 = false;
|
||||||
|
// 1 = true;
|
||||||
|
char version[16] = "v0.5";
|
||||||
|
int verbose = 0;
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
printf("MMMCalc %s, Copyright (c) 2016 Nicolás A. Ortega.\n", version);
|
||||||
|
printf("This program comes with ABSOLUTELY NO WARRANTY.\n");
|
||||||
|
printf("This program is free software and you are welcome to redistribute\n");
|
||||||
|
printf("under the terms and conditions of the GNU GPLv3 or higher.\n\n");
|
||||||
|
return 0;
|
||||||
|
}
|
@ -1,2 +0,0 @@
|
|||||||
Manifest-Version: 0.1
|
|
||||||
Main-Class: MMMCalc
|
|
351
src/mmmcalc/MMMCalc.java
Normal file
351
src/mmmcalc/MMMCalc.java
Normal file
@ -0,0 +1,351 @@
|
|||||||
|
package mmmcalc;
|
||||||
|
|
||||||
|
import java.lang.Math;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Nicolás A. Ortega
|
||||||
|
* @copyright (C) Nicolás A. Ortega
|
||||||
|
* @license GNU GPLv3
|
||||||
|
* @year 2014
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MMMCalc {
|
||||||
|
private static boolean verbose = false;
|
||||||
|
private static float[] numArray;
|
||||||
|
private static float mean = 0;
|
||||||
|
private static float q1 = 0;
|
||||||
|
private static float median = 0;
|
||||||
|
private static float q3 = 0;
|
||||||
|
private static float mode = 0;
|
||||||
|
private static float range = 0;
|
||||||
|
private static float stdDev = 0;
|
||||||
|
private static float variance = 0;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("MMMCalc v0.4, Copyright (C) 2014 Nicolás A. Ortega\n" +
|
||||||
|
"This program comes with ABSOLUTELY NO WARRANTY; for details use '-w'\n" +
|
||||||
|
"This is free software, and you are welcome to redistribute it\n" +
|
||||||
|
"under certain conditions; use '-c' for details.\n");
|
||||||
|
if(args.length > 0) {
|
||||||
|
if(args[0].equals("-h")) {
|
||||||
|
System.out.println("Usage:\n" +
|
||||||
|
" MMMCalc [options] [variables]\n\n" +
|
||||||
|
"Options:\n" +
|
||||||
|
" -v | -V -- Be verbose (show the work).\n" +
|
||||||
|
" -w -- Show warranty information.\n" +
|
||||||
|
" -c -- Show copyright information.\n" +
|
||||||
|
" -h -- Show this help information.\n");
|
||||||
|
} else if(args[0].equals("-w")) {
|
||||||
|
System.out.println("THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\n" +
|
||||||
|
"APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\n" +
|
||||||
|
"HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM 'AS IS' WITHOUT WARRANTY\n" +
|
||||||
|
"OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\n" +
|
||||||
|
"THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n" +
|
||||||
|
"PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\n" +
|
||||||
|
"IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\n" +
|
||||||
|
"ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n");
|
||||||
|
} else if(args[0].equals("-c")) {
|
||||||
|
System.out.println("MMMCalc, a very basic statistics calculator.\n" +
|
||||||
|
"Copyright (C) 2014 Nicolás A. Ortega\n\n" +
|
||||||
|
"This program is free software: you can redistribute it and/or modify\n" +
|
||||||
|
"it under the terms of the GNU General Public License as published by\n" +
|
||||||
|
"the Free Software Foundation, either version 3 of the License, or\n" +
|
||||||
|
"(at your option) any later version.\n\n" +
|
||||||
|
"This program is distributed in the hope that it will be useful,\n" +
|
||||||
|
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +
|
||||||
|
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +
|
||||||
|
"GNU General Public License for more details.\n\n" +
|
||||||
|
"You should have received a copy of the GNU General Public License\n" +
|
||||||
|
"along with this program. If not, see <www.gnu.org/licenses/>.");
|
||||||
|
} else if(args[0].equals("-v") || args[0].equals("-V")) {
|
||||||
|
verbose = true;
|
||||||
|
numArray = new float[args.length - 1];
|
||||||
|
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
numArray[i] = Float.parseFloat(args[i+1]);
|
||||||
|
}
|
||||||
|
sortArray();
|
||||||
|
|
||||||
|
calcMean();
|
||||||
|
calcQ1();
|
||||||
|
calcMedian();
|
||||||
|
calcQ3();
|
||||||
|
calcMode();
|
||||||
|
calcRange();
|
||||||
|
calcStdDev();
|
||||||
|
calcVariance();
|
||||||
|
} else {
|
||||||
|
numArray = new float[args.length];
|
||||||
|
|
||||||
|
for(int i = 0; i < args.length; i++) {
|
||||||
|
numArray[i] = Float.parseFloat(args[i]) - 0f;
|
||||||
|
}
|
||||||
|
sortArray();
|
||||||
|
|
||||||
|
calcMean();
|
||||||
|
calcQ1();
|
||||||
|
calcMedian();
|
||||||
|
calcQ3();
|
||||||
|
calcMode();
|
||||||
|
calcRange();
|
||||||
|
calcStdDev();
|
||||||
|
calcVariance();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println("You did not mention any variables. Use the -h argument for help.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void sortArray() {
|
||||||
|
int nL = numArray.length;
|
||||||
|
float tmp = 0;
|
||||||
|
for(int i = 0; i < nL; i++) {
|
||||||
|
for(int j = (nL-1); j >= (i+1); j--) {
|
||||||
|
if(numArray[j] < numArray[j-1]) {
|
||||||
|
tmp = numArray[j];
|
||||||
|
numArray[j] = numArray[j-1];
|
||||||
|
numArray[j-1] = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcMean() {
|
||||||
|
float sum = 0;
|
||||||
|
|
||||||
|
for(float i: numArray) {
|
||||||
|
sum += i;
|
||||||
|
}
|
||||||
|
|
||||||
|
mean = sum / (float)numArray.length;
|
||||||
|
|
||||||
|
System.out.println("Mean: " + mean);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
System.out.print("(");
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
System.out.print(numArray[i]);
|
||||||
|
if(i != numArray.length -1) {
|
||||||
|
System.out.print(" + ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.print(") / " + numArray.length + " = " + mean + "\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcQ1() {
|
||||||
|
int q1Pos;
|
||||||
|
// c stands for case... Cases correspond to their order in the following if statements (4 different cases).
|
||||||
|
int c;
|
||||||
|
|
||||||
|
if(numArray.length % 2.0 == 0) {
|
||||||
|
q1Pos = (int)(numArray.length / 4);
|
||||||
|
if(numArray.length % 4.0 == 0) {
|
||||||
|
q1 = (numArray[q1Pos] + numArray[q1Pos-1]) / 2;
|
||||||
|
c = 1;
|
||||||
|
} else {
|
||||||
|
q1 = numArray[q1Pos];
|
||||||
|
c = 2;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(Math.ceil(numArray.length / 2.0) % 2.0 == 0) {
|
||||||
|
q1Pos = (int)(Math.ceil(numArray.length / 2.0) / 2.0);
|
||||||
|
q1 = (numArray[q1Pos] + numArray[q1Pos+1]) / 2;
|
||||||
|
c = 3;
|
||||||
|
} else {
|
||||||
|
q1Pos = (int)Math.ceil(numArray.length / 4.0);
|
||||||
|
q1 = numArray[q1Pos];
|
||||||
|
c = 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Q1: " + q1);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
if(c == 1) {
|
||||||
|
if(i == q1Pos - 1) {
|
||||||
|
System.out.print(">>" + numArray[i] + " !" + q1 + "! ");
|
||||||
|
} else if(i == q1Pos) {
|
||||||
|
System.out.print(numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
} else if(c == 2) {
|
||||||
|
if(i == q1Pos) {
|
||||||
|
System.out.print(">>" + numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
} else if(c == 3) {
|
||||||
|
if(i == q1Pos) {
|
||||||
|
System.out.print(">>" + numArray[i] + " !" + q1 + "! ");
|
||||||
|
} else if(i == q1Pos + 1) {
|
||||||
|
System.out.print(numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
} else if(c == 4) {
|
||||||
|
if(i == q1Pos) {
|
||||||
|
System.out.print(">>" + numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.print("\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcMedian() {
|
||||||
|
int midVar = numArray.length / 2;
|
||||||
|
boolean exact;
|
||||||
|
|
||||||
|
if(numArray.length % 2 == 0) {
|
||||||
|
median = (numArray[midVar] + numArray[midVar-1]) / 2;
|
||||||
|
exact = false;
|
||||||
|
} else {
|
||||||
|
median = numArray[midVar];
|
||||||
|
exact = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Median: " + median);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
if(!exact) {
|
||||||
|
if(i == midVar - 1) {
|
||||||
|
System.out.print(">>" + numArray[i] + " !" + median + "! ");
|
||||||
|
} else if(i == midVar) {
|
||||||
|
System.out.print(numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(i == midVar) {
|
||||||
|
System.out.print(">>" + numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.print("\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME: Needs to calculate haflway between the median value and the last value.
|
||||||
|
private static void calcQ3() {
|
||||||
|
/*int q3Pos = (numArray.length * 3) / 4;
|
||||||
|
boolean exact;
|
||||||
|
|
||||||
|
if((numArray.length * 3) % 4 != 0) {
|
||||||
|
q3 = (numArray[q3Pos+1] + numArray[q3Pos]) / 2;
|
||||||
|
exact = false;
|
||||||
|
} else {
|
||||||
|
q3 = numArray[q3Pos];
|
||||||
|
exact = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Q3: " + q3);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
if(!exact) {
|
||||||
|
if(i == q3Pos) {
|
||||||
|
System.out.print(">>" + numArray[i] + " !" + q3 + "! ");
|
||||||
|
} else if(i == q3Pos + 1) {
|
||||||
|
System.out.print(numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if(i == q3Pos) {
|
||||||
|
System.out.print(">>" + numArray[i] + "<< ");
|
||||||
|
} else {
|
||||||
|
System.out.print(numArray[i] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.print("\n\n");
|
||||||
|
}*/
|
||||||
|
System.out.println("Q3 is not currently functional.\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcMode() {
|
||||||
|
HashMap<Float, Float> fx = new HashMap<Float, Float>();
|
||||||
|
|
||||||
|
for(float x: numArray) {
|
||||||
|
Float f = fx.get(x);
|
||||||
|
if(f == null) {
|
||||||
|
fx.put(x, (float)1);
|
||||||
|
} else {
|
||||||
|
fx.put(x, f + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float modeFreq = 0;
|
||||||
|
|
||||||
|
for(Map.Entry<Float, Float> entry: fx.entrySet()) {
|
||||||
|
float freq = entry.getValue();
|
||||||
|
if(freq > modeFreq) {
|
||||||
|
modeFreq = freq;
|
||||||
|
mode = entry.getKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Mode: " + mode + " (frequency: " + modeFreq + ")");
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
for(Map.Entry<Float, Float> entry:fx.entrySet()) {
|
||||||
|
System.out.print(entry.getKey() + "(" + entry.getValue() + ") ");
|
||||||
|
}
|
||||||
|
System.out.print("\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcRange() {
|
||||||
|
int l = numArray.length -1;
|
||||||
|
range = numArray[l] - numArray[0];
|
||||||
|
|
||||||
|
System.out.println("Range: " + range);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
System.out.println(numArray[l] + " - " + numArray[0] + " = " + range + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcStdDev() {
|
||||||
|
float difSum = 0;
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
difSum += numArray[i] - mean;
|
||||||
|
}
|
||||||
|
|
||||||
|
stdDev = difSum / (float)Math.sqrt((double)numArray.length);
|
||||||
|
|
||||||
|
System.out.println("Standard Deviation: " + stdDev);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
System.out.print("sqrt((");
|
||||||
|
for(int i = 0; i < numArray.length; i++) {
|
||||||
|
System.out.print(numArray[i] + " - " + mean);
|
||||||
|
if(i != numArray.length - 1) {
|
||||||
|
System.out.print(" + ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.print(")^2 / " + numArray.length + ") = " + stdDev + "\n\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void calcVariance() {
|
||||||
|
variance = stdDev * stdDev;
|
||||||
|
|
||||||
|
System.out.println("Variance: " + variance);
|
||||||
|
|
||||||
|
if(verbose) {
|
||||||
|
System.out.println(stdDev + "^2 = " + variance + "\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user