Area under curve, C/C++ Programming

Assignment Help:
Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b.

Related Discussions:- Area under curve

Constructor , What is constructor or ctor? need help

What is constructor or ctor? need help

What is the main advantage to using a data file, Problem: (a) What is ...

Problem: (a) What is the main advantage to using a data file? (b) What is meant by opening a data file? How is this accomplished? Illustrate your answer clearly with a sui

Need help, how to make basics strong and best logic skills what are the bes...

how to make basics strong and best logic skills what are the best way to be a expert programmer ? what counts a lot knowledge or practice?

Explain logical operators, Logical Operators We say any expression that...

Logical Operators We say any expression that evaluates to zero is a FALSE logic condition and that evaluating to non-zero value is a TRUE condition. Logical operators are usefu

Build a standalone module to extract and parse, A skilled programmer is req...

A skilled programmer is required to build a standalone module to extract, parse and store in database tables, word count data from web pages and RSS feeds. The module will take

Input and output in c++, C++ improves on many of C's features and provides ...

C++ improves on many of C's features and provides object-oriented programming capabilities used for software production, quality and reusability. C++ was developed by Bjarne Strons

Arrays, how to declare multi dimensional array

how to declare multi dimensional array

Mini Search Engine, How do I create two functions: one to put a collection ...

How do I create two functions: one to put a collection of criteria into normal form, and one to compute the score of a document. A collection of criteria will be represented using

diana

9/4/2012 4:20:01 AM

#include
float start_point, /* GLOBAL VARIABLES */
end_point,
total_area;
int numtraps;
main( )
{
void input(void);
float find_area(float a,float b,int n); /* prototype */
print("AREA UNDER A CURVE");
input( );
total_area = find_area(start_point, end_point, numtraps);
printf("TOTAL AREA = %f", total_area);
}
void input(void)
{
printf("\n Enter lower limit:");
scanf("%f", &start_point);
printf("Enter upper limit:");
scanf("%f", &end_point);
printf("Enter number of trapezoids:");
scanf("%d", &numtraps);
}
float find_area(float a, float b, int n)
{
floatbase, lower, h1, h2; /* LOCAL VARIABLES */float function_x(float x); /* prototype */float trap_area(float h1,float h2,floatbase);/*prototype*/base = (b-1)/n;
lower = a;
for(lower =a; lower <= b-base; lower = lower + base)
{
h1 = function_x(lower);
h1 = function_x(lower + base);
total_area += trap_area(h1, h2, base);
}
return(total_area);
float trap_area(float height_1,float height_2,floatbase)
{
float area; /* LOCAL VARIABLE */
area = 0.5 * (height_1 + height_2) * base;
return(area);
}
float function_x(float x)
{
/* F(X) = X * X + 1 */return(x*x + 1);
}

Output
AREA UNDER A CURVE
Enter lower limit: 0
Enter upper limit: 3
Enter number of trapezoids: 30
TOTAL AREA = 12.005000
AREA UNDER A CURVE
Enter lower limit: 0
Enter upper limit: 3
Enter number of trapezoids: 100
TOTAL AREA = 12.000438

Solution in java ::

// hackerx sasi kamaraj college of engineering and technology 2910007 java Program


//The answer to be precise... although the type was a double, it rounds off the answer. Any help would be //appreciated...
//java code: 1. :: try this or the another one below this one
//Program code ::

public class Reimann
{
private static double integral(String s, double[] descriptors, double lb, double ub)
{

double area = 0; // Area of the rectangle
double sumOfArea = 0; // Sum of the area of the rectangles
double oldSumOfArea = 0;
double width = ub - lb;
boolean firstPass = true;

while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass )
{

System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass);
if (s.equals("poly"))
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}
width = width / 2;
firstPass = false;
oldSumOfArea = sumOfArea;
}
return sumOfArea;
}

/*private static void runMyTests()
{
assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 );
}*/

public static void main (String [] args)
{

double lb = Double.parseDouble(args[args.length -2]);
double ub = Double.parseDouble(args[args.length -1]);

double[] coefficients = new double[args.length - 3];

if (args[0].equals("poly"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("poly", coefficients, lb, ub));
}
}
}



Java Program 2 ::

public class Riemann
{
private static double integral(String s, double[] descriptors, double lb, double ub)
{

double area = 0; // Area of the rectangle
double sumOfArea = 0; // Sum of the area of the rectangles
double oldSumOfArea = 0;
double width = ub - lb;
boolean firstPass = true;

while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass )
{

System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass);
if (s.equals("poly")) // Statement for polynomial
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

else if (s.equals("sin")) // Statement for sin
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.sin(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

else if (s.equals("cos")) // Statement for cos
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.cos(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

width = width / 2;
firstPass = false;
oldSumOfArea = sumOfArea;
}

return sumOfArea;
}

/*private static void runMyTests()
{
assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 );
}*/

public static void main (String [] args)
{
double lb = Double.parseDouble(args[args.length -2]);
double ub = Double.parseDouble(args[args.length -1]);

double[] coefficients = new double[args.length - 3];

if (args[0].equals("poly"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("poly", coefficients, lb, ub));
}

else if (args[0].equals("sin"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("sin", coefficients, lb, ub));
}

else if (args[0].equals("cos"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("cos", coefficients, lb, ub));
}
}
}



Question ::
Area Under Curve

diana

9/4/2012 4:20:21 AM

#include
float start_point, /* GLOBAL VARIABLES */
end_point,
total_area;
int numtraps;
main( )
{
void input(void);
float find_area(float a,float b,int n); /* prototype */
print("AREA UNDER A CURVE");
input( );
total_area = find_area(start_point, end_point, numtraps);
printf("TOTAL AREA = %f", total_area);
}
void input(void)
{
printf("\n Enter lower limit:");
scanf("%f", &start_point);
printf("Enter upper limit:");
scanf("%f", &end_point);
printf("Enter number of trapezoids:");
scanf("%d", &numtraps);
}
float find_area(float a, float b, int n)
{
floatbase, lower, h1, h2; /* LOCAL VARIABLES */float function_x(float x); /* prototype */float trap_area(float h1,float h2,floatbase);/*prototype*/base = (b-1)/n;
lower = a;
for(lower =a; lower <= b-base; lower = lower + base)
{
h1 = function_x(lower);
h1 = function_x(lower + base);
total_area += trap_area(h1, h2, base);
}
return(total_area);
float trap_area(float height_1,float height_2,floatbase)
{
float area; /* LOCAL VARIABLE */
area = 0.5 * (height_1 + height_2) * base;
return(area);
}
float function_x(float x)
{
/* F(X) = X * X + 1 */return(x*x + 1);
}

Output
AREA UNDER A CURVE
Enter lower limit: 0
Enter upper limit: 3
Enter number of trapezoids: 30
TOTAL AREA = 12.005000
AREA UNDER A CURVE
Enter lower limit: 0
Enter upper limit: 3
Enter number of trapezoids: 100
TOTAL AREA = 12.000438

Solution in java ::

// hackerx sasi kamaraj college of engineering and technology 2910007 java Program


//The answer to be precise... although the type was a double, it rounds off the answer. Any help would be //appreciated...
//java code: 1. :: try this or the another one below this one
//Program code ::

public class Reimann
{
private static double integral(String s, double[] descriptors, double lb, double ub)
{

double area = 0; // Area of the rectangle
double sumOfArea = 0; // Sum of the area of the rectangles
double oldSumOfArea = 0;
double width = ub - lb;
boolean firstPass = true;

while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass )
{

System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass);
if (s.equals("poly"))
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}
width = width / 2;
firstPass = false;
oldSumOfArea = sumOfArea;
}
return sumOfArea;
}

/*private static void runMyTests()
{
assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 );
}*/

public static void main (String [] args)
{

double lb = Double.parseDouble(args[args.length -2]);
double ub = Double.parseDouble(args[args.length -1]);

double[] coefficients = new double[args.length - 3];

if (args[0].equals("poly"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("poly", coefficients, lb, ub));
}
}
}



Java Program 2 ::

public class Riemann
{
private static double integral(String s, double[] descriptors, double lb, double ub)
{

double area = 0; // Area of the rectangle
double sumOfArea = 0; // Sum of the area of the rectangles
double oldSumOfArea = 0;
double width = ub - lb;
boolean firstPass = true;

while ( (Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass )
{

System.out.println((Math.abs((oldSumOfArea - sumOfArea) / sumOfArea) > .0001) || firstPass);
if (s.equals("poly")) // Statement for polynomial
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.pow ( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ), j);
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

else if (s.equals("sin")) // Statement for sin
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.sin(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

else if (s.equals("cos")) // Statement for cos
{
for (int i = 1; i <= ((ub - lb) / width); i++) // represents # of rectangles
{
for (int j = 0; j < descriptors.length; j++) // Goes through all the coefficients
{
area = width * descriptors[j] * Math.cos(Math.toRadians(( (double)( (i * width + lb + (i -1.0) * width + lb) / 2.0 ))));
/*Above code computes area of each rectangle */

sumOfArea += area;

}
}
}

width = width / 2;
firstPass = false;
oldSumOfArea = sumOfArea;
}

return sumOfArea;
}

/*private static void runMyTests()
{
assert ( integral() <= 48.00001 ) && ( integral() >= 47.99999 );
}*/

public static void main (String [] args)
{
double lb = Double.parseDouble(args[args.length -2]);
double ub = Double.parseDouble(args[args.length -1]);

double[] coefficients = new double[args.length - 3];

if (args[0].equals("poly"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("poly", coefficients, lb, ub));
}

else if (args[0].equals("sin"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("sin", coefficients, lb, ub));
}

else if (args[0].equals("cos"))
{
for (int i = 1; i < args.length - 2; i++)
{
coefficients[i-1] = Double.parseDouble(args[i]);
}

System.out.println(integral("cos", coefficients, lb, ub));
}
}
}



Question ::
Area Under Curve

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd