area of curve, C/C++ Programming

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. The area under a curve between two points can be found by doing a definite integral between the two points.
Posted Date: 9/3/2012 3:45:19 AM | Location : United States





#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
Posted by diana | Posted Date: 9/4/2012 4:19:46 AM


Related Discussions:- area of curve, Assignment Help, Ask Question on area of curve, Get Answer, Expert's Help, area of curve Discussions

Write discussion on area of curve
Your posts are moderated
Related Questions
Objective: Construct a C program that controls the UART, and is capable of displaying strings. Echo characters received on the UART to the LCD screen Outcome: A mess

C Program for FIND EVEN & ODD NO.S IN THE ARRAY #include stdio.h> #include string.h> #include conio.h> void main() {           int i=0,j=0, l_e[100],l_o[100];

To store a date use a structure that contains three members date, month and year. If the dates are equal then display message “Equal” otherwise “Unequal” Program structure: main()

Hello, Do you have any idea for programming project to simulate a network attack (threat) mechanism or a defense mechanism. Can I get some suggestions for this. Please include th

Question 1 Write a program that accepts a 3x3 matrix from the user and finds the transpose of it Question 2 Explain Brief about class and objects. Also describe friend functi

Program for calculate average of total marks: #include using namespace std; void print(int marks_arr[],int cnt) { int ind[cnt]; int i=0; int j=0; int k=0;

Question 1 Write a program that accepts two numbers from the user and swaps the two numbers without using a temporary variable Question 2 Write a program that accepts a 3x

M em b e r d e r e f e r e n c i ng o p e r a t o r s: T h e s e op e r a t o r s w i l l b e d i s c u s s e d l a t

Write a program in C that you will name "divide.exe", to divide one 32-bit twos-complement binary number by another, giving the quotient and the remainder, using the subtract-shift

A conversion constructor declared with the explicit keyword. The compiler does not use an explicit constructor to execute an implied conversion of types. Its purpose is reserved ex