July 2022 - Prum Soriya

Hot

Post Top Ad

Wednesday, 6 July 2022

Area Under Curve

July 06, 2022 0
Exercise:


The c++ programming:

#include <iostream>
#include <fstream>

int main()
{
    char c;
    std::fstream File("AUC data.csv");
    double arr_x[351];
    double arr_y[351];
    double AUC = 0.0;
    for (int i = 0; i < 351; i++)
    {
     File >> arr_x[i] >> c >> arr_y[i];
    }
    for (int i = 0; i < 350; i++)
    {
        AUC += (arr_y[i] + arr_y[i + 1])*(arr_x[i+1] - arr_x[i])/2;
    }
    std::cout << "The area under curve using trapezoidal rule is: " <<AUC << std::endl;
    std::cin.get();
    return 0;
}

Output:
The area under curve using trapezoidal rule is: 0






Read More

Saturday, 2 July 2022

Calculating Area Under Curve Using Code and Excel

July 02, 2022 0


Calculating Left Reimann Sum, Right Reimann Sum and Midpoint Riemann sum on excel:




Code on c++ for calculating area under curve with trapezoidal rule:
#include <iostream> 
#include <cmath>
#include <fstream>
#include <iomanip>

double f(double x);
double LeftRiemannSum(double a, double b, unsigned int n);
double RightRiemannSum(double a, double b, unsigned int n);
double MidPointRiemannSum(double a, double b, unsigned int n);
int main()
{
    std::ofstream File("data.csv");
     File << "n,L_n,R_n,M_n\n"; 
     for (unsigned int i = 20; i <= 10000; i += 20)
    {
        File << i << std::setprecision(11) << ','
               << LeftRiemannSum(0, 2, i) << ','
               << RightRiemannSum(0, 2, i) << ','
               << MidPointRiemannSum(0, 2, i) << '\n';
    }
    std::cout << "Finished Writting...";
    std::cin.get();
    return 0;
}

double f(double x)
{
    return std::pow(x, 3) + 1;
}

double LeftRiemannSum(double a, double b, unsigned int n)
{
    double dx = (b-a) /n;
    double sum = 0.0;
    double x = a;
    for (unsigned int i = 1; i<=n; i++)
    {
        sum += f(x) * dx;  
        x += dx;
    }
    return sum;
}

double RightRiemannSum(double a, double b, unsigned int n)
{
    double dx = (b - a) / n;
    double sum = 0.0;
    double x =a;
    for (unsigned int i = 1; i<= n; i++)
    {
        x +=dx;
        sum += f(x) * dx;
    }
    return sum;
}

double MidPointRiemannSum(double a, double b, unsigned int n)
{
    double dx = (b -a) / n;
    double sum = 0.0;
    double x = a + 0.5*dx;
    for(unsigned int i = 1; i <= n; i++)
    {
        sum += f(x) * dx;
        x += dx;
    }
    return sum;
}
Result of the code:
Read More

ISP Network Design Research Project

Post Top Ad