Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. double MonteCarloRule::calculate(double xStart, double xEnd, int quantity) {
  2. std::default_random_engine generator;
  3. std::uniform_real_distribution<double> distribution(xStart, xEnd);
  4. double sum{0};
  5. for (int i = 0; i < quantity; ++i) {
  6. sum += Function::value(distribution(generator));
  7. }
  8. return sum/quantity;
  9. }
  10. //----------------------------------------------------------------------------
  11. double TrapezoidalRule::calculate(double xStart, double xEnd, int quantity) {
  12. double sum, dx;
  13.  
  14. sum = 0;
  15. dx = (xEnd - xStart) / quantity;
  16.  
  17. for (int i = 1; i < quantity; ++i) {
  18. sum += Function::value(xStart + i * dx);
  19. }
  20. sum = (sum + (Function::value(xStart)+Function::value(xEnd)/2))*dx;
  21. return sum;
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement