private void button1_Click(object sender, EventArgs e) { var valM = textBox1.Text; var valZ = textBox2.Text; var correct_result = 333333.333333; SingleCount exercise1 = new SingleCount(); Random random = new Random(); exercise1.X1 = 0; exercise1.X2 = 100; int m; double z; bool parseSuccess1 = int.TryParse(valM, out m); bool parseSuccess2 = double.TryParse(valZ, out z); // Percentage error from 0 to 100 if (parseSuccess1 && parseSuccess2) { Wynik.Items.Clear(); if (z >= 0 && z <= 100 && m >= 1 && m <= 1000) { exercise1.CalculationNumber = m; double percentVal = z * correct_result / 100; // Value of percentage error double maxAccVal = correct_result + percentVal; // Maximal accepted value double minAccVal = correct_result - percentVal; // Minimal accepted value for (int i = 0; i < exercise1.CalculationNumber; ++i) { exercise1.N = random.Next(10, 100000); var result_trap = exercise1.TrapezoidMethod(exercise1.FUNX2); var result_rec = exercise1.RectangleMethod(exercise1.FUNX2); if (result_trap >= minAccVal && result_trap <= maxAccVal) { Wynik.Items.Add("Trapezoid method: " + result_trap); } if (result_rec >= minAccVal && result_rec <= maxAccVal) { Wynik.Items.Add("Rectangle method: " + result_rec); } } Wynik.Items.Add("END OF CALCULATION"); } else { Wynik.Items.Add("Please change value of Z or M"); Wynik.Items.Add("The valid values are:"); Wynik.Items.Add("M range 1 1000"); Wynik.Items.Add("Z range 0 100"); } } else { Wynik.Items.Add("The given data was invalid"); } }
private void CALCULATE_Click(object sender, EventArgs e) { var correct_result = 333333.333333; SingleCount exercise3 = new SingleCount(); exercise3.X1 = 0; exercise3.X2 = 100; for (int i = 1; i < 7; ++i) { exercise3.N = (int)Math.Pow(10, i); Wynik.Items.Add("For n: " + exercise3.N); var result_trap = exercise3.TrapezoidMethod(exercise3.FUNX2); exercise3.MinSquareError = Math.Pow(correct_result - result_trap, 2); Wynik.Items.Add("Trapezoid method: " + exercise3.MinSquareError); var result_rec = exercise3.RectangleMethod(exercise3.FUNX2); exercise3.MinSquareError = Math.Pow(correct_result - result_rec, 2); Wynik.Items.Add("Rectangle method: " + exercise3.MinSquareError); } }
private double integralX(SingleCount exercise5, bool method, Func <double, double> fun, Random random) { exercise5.X1 = 0; while (true) { exercise5.X2 = findX(random); if (exercise5.X2 > exercise5.X1) { break; } } double local_x = 0; if (method) // Trapezoid { local_x = exercise5.TrapezoidMethod(fun); } else { local_x = exercise5.RectangleMethod(fun); } return(local_x); }
private void CALCULATE_Click(object sender, EventArgs e) { var valZ = textBox1.Text; var correct_result = 1; SingleCount exercise8 = new SingleCount(); exercise8.X1 = 0; exercise8.X2 = Math.PI / 2; double z; bool parseSuccess1 = double.TryParse(valZ, out z); // Percentage error from 0 to 100 if (parseSuccess1) { Wynik.Items.Clear(); if (z >= 0 && z <= 100) { double percentVal = z * correct_result / 100; // Value of percentage error double maxAccVal = correct_result + percentVal; // Maximal accepted value double minAccVal = correct_result - percentVal; // Minimal accepted value bool flag = false; for (int i = 1; i < 25000; ++i) { exercise8.N = i; var result_trap = exercise8.TrapezoidMethod(exercise8.FUNCOSX); if (result_trap >= minAccVal && result_trap <= maxAccVal) { Wynik.Items.Add("Trapezoid method: " + result_trap); Wynik.Items.Add("For n: " + exercise8.N); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Trapezoid method.."); } flag = false; for (int i = 1; i < 25000; ++i) { exercise8.N = i; var result_rec = exercise8.RectangleMethod(exercise8.FUNCOSX); if (result_rec >= minAccVal && result_rec <= maxAccVal) { Wynik.Items.Add("Rectangle method: " + result_rec); Wynik.Items.Add("For n: " + exercise8.N); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Rectangle method.."); } } else { Wynik.Items.Add("Please change value of Z"); Wynik.Items.Add("The valid values are:"); Wynik.Items.Add("Z range 0 100"); } } else { Wynik.Items.Add("The given data was invalid"); } }
private void CALCULATE_Click(object sender, EventArgs e) { var valZ = textBox1.Text; var valx1 = textBox2.Text; var valx2 = textBox3.Text; SingleCount exercise7 = new SingleCount(); double x1, x2; int Z; bool parseSuccess1 = double.TryParse(valx1, out x1); bool parseSuccess2 = double.TryParse(valx2, out x2); bool parseSuccess3 = int.TryParse(valZ, out Z); if (parseSuccess1 && parseSuccess2 && parseSuccess3) { Wynik.Items.Clear(); if (x1 >= 0 && x1 <= 1000 && x2 >= 0 && x2 <= 1000 && x2 > x1 && Z > 0 && Z <= 1000) { exercise7.X1 = x1; exercise7.X2 = x2; bool flag = false; for (int i = 2; i < 25000; ++i) { exercise7.N = i; var result_trap = exercise7.TrapezoidMethod(exercise7.FUNX2); if (result_trap % Z == 0) { Wynik.Items.Add("Trapezoid method: " + result_trap); Wynik.Items.Add("For n: " + exercise7.N); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Trapezoid method.."); } flag = false; for (int i = 2; i < 25000; ++i) { exercise7.N = i; var result_rec = exercise7.RectangleMethod(exercise7.FUNX2); if (result_rec % Z == 0) { Wynik.Items.Add("Rectangle method: " + result_rec); Wynik.Items.Add("For n: " + exercise7.N); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Rectangle method.."); } } else { Wynik.Items.Add("Please change value of X1 or X1 or Z"); Wynik.Items.Add("The valid values are:"); Wynik.Items.Add("X1 range 0 1000"); Wynik.Items.Add("X2 range 0 1000"); Wynik.Items.Add("Z range >0 1000"); Wynik.Items.Add("X2 > X1"); } } else { Wynik.Items.Add("The given data was invalid"); } }
private void CALCULATE_Click(object sender, EventArgs e) { var valZ = textBox1.Text; var valK = textBox3.Text; SingleCount exercise4 = new SingleCount(); exercise4.X1 = 0; int K; int Z; bool parseSuccess1 = int.TryParse(valK, out K); bool parseSuccess2 = int.TryParse(valZ, out Z); if (parseSuccess1 && parseSuccess2) { Wynik.Items.Clear(); if (K >= 0 && K <= 4 && Z > 0 && Z <= 1000) { exercise4.N = (int)Math.Pow(10, K); int x2 = 1; bool flag = false; for (int i = 1; i < 25000; ++i) { exercise4.X2 = i; var result = exercise4.TrapezoidMethod(exercise4.FUNX3); if (result % Z == 0) { Wynik.Items.Add("Trapezoid Method"); Wynik.Items.Add("Result: " + result); Wynik.Items.Add("For x1: " + exercise4.X1 + ", x2: " + exercise4.X2); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Trapezoid method.."); } flag = false; for (int i = 1; i < 25000; ++i) { exercise4.X2 = i; var result = exercise4.RectangleMethod(exercise4.FUNX3); if (result % Z == 0) { Wynik.Items.Add("Rectangle Method"); Wynik.Items.Add("Result: " + result); Wynik.Items.Add("For x1: " + exercise4.X1 + ", x2: " + exercise4.X2); flag = true; break; } } if (!flag) { Wynik.Items.Add("No matches for Rectangle method.."); } } else { Wynik.Items.Add("Please change value of Z or K"); Wynik.Items.Add("The valid values are:"); Wynik.Items.Add("K range 0 4"); Wynik.Items.Add("Z range >0 1000"); } } else { Wynik.Items.Add("The given data was invalid"); } }
private void CALCULATE_Click(object sender, EventArgs e) { var valK = textBox3.Text; var valM = textBox1.Text; SingleCount exercise6 = new SingleCount(); Random random = new Random(); int m; int k; bool parseSuccess1 = int.TryParse(valM, out m); bool parseSuccess2 = int.TryParse(valK, out k); if (parseSuccess1 && parseSuccess2) { Wynik.Items.Clear(); if (k >= 0 && k <= 4 && m >= 1 && m <= 1000) { exercise6.N = (int)Math.Pow(10, k); double result_x2 = 0, result_x3 = 0, diff = double.MaxValue; double local_x2, local_x3, local_diff; // Trapezoid method for (int i = 0; i < m; ++i) { exercise6.X1 = random.Next(0, 100); exercise6.X2 = random.Next(100, 300); local_x2 = exercise6.TrapezoidMethod(exercise6.FUNX2); local_x3 = exercise6.TrapezoidMethod(exercise6.FUNX3); local_diff = local_x2 - local_x3; if (local_diff < 0) { local_diff *= -1; } if (local_diff < diff) { diff = local_diff; result_x2 = local_x2; result_x3 = local_x3; } } Wynik.Items.Add("Trapezoid method"); Wynik.Items.Add("X^2 function: " + result_x2); Wynik.Items.Add("X^3 function: " + result_x3); Wynik.Items.Add("Lowest difference: " + diff); result_x2 = 0; result_x3 = 0; diff = double.MaxValue; // Rectangle method for (int i = 0; i < m; ++i) { exercise6.X1 = random.Next(0, 100); exercise6.X2 = random.Next(100, 300); local_x2 = exercise6.RectangleMethod(exercise6.FUNX2); local_x3 = exercise6.RectangleMethod(exercise6.FUNX3); local_diff = local_x2 - local_x3; if (local_diff < 0) { local_diff *= -1; } if (local_diff < diff) { diff = local_diff; result_x2 = local_x2; result_x3 = local_x3; } } Wynik.Items.Add("Rectangle method"); Wynik.Items.Add("X^2 function: " + result_x2); Wynik.Items.Add("X^3 function: " + result_x3); Wynik.Items.Add("Lowest difference: " + diff); } else { Wynik.Items.Add("Please change value of Z or M"); Wynik.Items.Add("The valid values are:"); Wynik.Items.Add("M range 1 1000"); Wynik.Items.Add("K range 0 4"); } } else { Wynik.Items.Add("The given data was invalid"); } }