private static void Main() { int num = Helpers.ValidateInputAsInt("How many numbers you would like to enter: "); List<double> numbers = new List<double>(); // Fill array with numbers for (int i = 0; i < num; i++) { numbers.Add(Helpers.ValidateInputAsDouble("Enter value " + (i + 1) + ": ")); } // Use of List methods Console.WriteLine("Minimal number is : {0}", numbers.Min()); Console.WriteLine("Maximal number is : {0}", numbers.Max()); Console.WriteLine("Sum number is : {0}", numbers.Sum()); Console.WriteLine("Average number is : {0}", numbers.Average()); }
public double AutoCorrelation(int radiusToTest, int numberOfSamplesInEachDimension) { List<int> samples1 = new List<int>(numberOfSamplesInEachDimension); List<int> samples2 = new List<int>(numberOfSamplesInEachDimension); for (int i = 0; i < numberOfSamplesInEachDimension; i++) { int xIdx = rand.Next(0, width - radiusToTest); int yIdx = rand.Next(0, width); int zIdx = rand.Next(0, width); if(systemState[xIdx][yIdx][zIdx]) samples1.Add(1); else samples1.Add(-1); if (systemState[xIdx+radiusToTest][yIdx][zIdx]) samples2.Add(1); else samples2.Add(-1); xIdx = rand.Next(0, width); yIdx = rand.Next(0, width - radiusToTest); zIdx = rand.Next(0, width); if (systemState[xIdx][yIdx][zIdx]) samples1.Add(1); else samples1.Add(-1); if (systemState[xIdx][yIdx + radiusToTest][zIdx]) samples2.Add(1); else samples2.Add(-1); xIdx = rand.Next(0, width); yIdx = rand.Next(0, width); zIdx = rand.Next(0, width - radiusToTest); if (systemState[xIdx][yIdx][zIdx]) samples1.Add(1); else samples1.Add(-1); if (systemState[xIdx][yIdx][zIdx + radiusToTest]) samples2.Add(1); else samples2.Add(-1); } double mean1 = samples1.Average(); double mean2 = samples2.Average(); List<double> nextSet = new List<double>(numberOfSamplesInEachDimension); for (int i = 0; i < numberOfSamplesInEachDimension; i++) { nextSet.Add((samples1[i] - mean1) * (samples2[i] - mean2)); } return nextSet.Average(); }
public double AverageMagnitizationPerSpinAfterTime(double beta, int initialSteps = 100000, int statisticalTrials = 50000, int pertubationsPerTrial = 1) { Magnitization = 0; //randomize(); initializeToZero(); SetBeta(beta); Perturb(initialSteps); var magnitizationPerSpinsReading = new List<double>(statisticalTrials); for (int i = 0; i < statisticalTrials; i++) { Perturb(pertubationsPerTrial); magnitizationPerSpinsReading.Add(MagnitizationPerSpin()); } return magnitizationPerSpinsReading.Average(); }
public double CorrelationLength(int maxRadius, int autoCorrelationSamples) { List<double> correlationLengthResults = new List<double>(); for(int i=1; i < maxRadius; i++){ var autoCorrelation = AutoCorrelation(i, autoCorrelationSamples); var result = (-i) / (Math.Log(autoCorrelation)); if (result < width) { correlationLengthResults.Add(result); } } return correlationLengthResults.Average(); }
public void PrintWealth() { double totalValue = 0; List<double> assets = new List<double>(); for(int i=0; i < Members.Count(); i++){ var a = Members[i].GetAssets(); //Debug.Print(i.ToString() + ": " + Members[i].GetAssets().ToString()); totalValue += a; assets.Add(a); //cumulativeSignal.Add(a); } //if (iterationIdx > 300) { var h = new Histogram(new Signal(assets), .3); //h.Graph(); h.SaveImage("chart " + iterationIdx.ToString() + ".bmp"); //cumulativeSignal.RankOrder().Graph(); //} double average = assets.Average(); double SD = assets.CalculateStdDev(); Debug.Print("Total value: " + totalValue.ToString() +" average wealth: " + average.ToString() + " standard deviation: " + SD.ToString()); }