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

Explain static class members, Static Class Members As we already know a...

Static Class Members As we already know all the objects of the class have dissimilar data members but invoke the similar member functions. Though, there is an exception to this

Write a program that simulates a simple calculation, The program reads two ...

The program reads two numbers and a character (operator). If the character is "+" then sum is displayed. If it is "-"then difference is displayed. If it is "*" then product is disp

Arrays, how to declare arrays

how to declare arrays

What are the different steps in executing a c program, Question 1 What are...

Question 1 What are the different steps in executing a C program? Explain Question 2 What are the commonly used input/output functions in C? How are they accessed?

Write a program read words from file, Write a program IdentyfyWordsMain.jav...

Write a program IdentyfyWordsMain.java reading a fi le (like HistoryOfProgramming) and divide the text into a sequence of words (word=sequence of letters). Save the result in a new

Mathematics, C Coding to find the area under the curve y = f(x) between x =...

C Coding 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. The area under a curve between two points can be found

Execution of string length using pointer hopping, A: #include // Test to...

A: #include // Test to see if pointer hopping is worthwhile. // strlen implemented with usual indexing mechanism. int strlen1( const char str[ ] ) { int i; for( i =

Inbuilt functions in cpp, Inbuilt Functions i).  Functions to manipulate...

Inbuilt Functions i).  Functions to manipulate strings The cstring library defines many functions to perform some manipulation operations with C-styled functions. The followi

I want vlc pitch changing addon, I want VLC Pitch Changing Addon Project...

I want VLC Pitch Changing Addon Project Description: Required: Plugin to modify the pitch of running tracks in VLC without changing the speed. Skills required are C Progra

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