160 likes | 256 Vues
Learn to write C++ subfunctions for derivatives and integrals with precise slope and area calculations using recursion and parameters in this comprehensive programming exercise guide. Explore the implementation of important mathematical concepts such as derivative approximation, integral calculation using small values, and program frameworks for efficient execution.
E N D
Chapter 06 (Part II) Functions and an Introduction to Recursion
Objective • Write a program for learn C++ subfunction. • Exercise: • Please implement the following functions: • double derivative(double a, double n, double x0); • receives three parameters and returns the slope of axn at x0. • double integral(double a, double n, double x1, double x2); • receives four parameters and returns the area enclosed by axn , y=0, x=x1 and x=x2.
Derivative • To compute the slope S between (x1, y1) and (x2, y2): y (x2, y2) y2- y1 (x1, y1) x x2- x1 x1 x2
Derivative • To compute the slope of the tangent line at x0: y f(x) x0 x0+dx x0+dx x0+dx x0+dx x
Derivative • When dx approaches 0, then the slope of the tangent line at x0 is called the derivative of f(x) at x0. • We would use a very small dx to approximate the derivative.
Implementation of derivative() • Program framework prototype implementation
The #define Directive • You can use the #define directive to give a meaningful name to a constant in your program. • Example: • DX will be replaced by 0.0001 #include <iostream> #define DX 0.0001 int main () { cout << DX << endl; return 0; } #include <iostream> #define DX 0.0001 int main () { cout << DX << endl; return 0; } 0.0001
int S Copy value Output argument Implementation of Subfunction • Remember the only way for a sub-function to communication with outside is through its parameters and return value! int int value 20 x 3 int value = x*x + 2*x + 5; x Parameter Return Value
Implementation of derivative() • What the sub-function can only access are its parameters and variables. • Note: do not declare a variable of the same variable name with parameters.
Integral • How do we compute the area enclosed by axn , y=0, x=x1 and x=x2? y x x2 x1
Integral • Use rectangles of the same width to cover the enclosed field and then sum up their area y f(x1+dx) f(x1) f(x1+2dx) f(x1+5dx) f(x1+3dx) f(x1+4dx) dx dx dx dx dx dx x x2 x1
Integral • The measure of area is • The accuracy of area measure depends on how small dx is. y x x2 x1
Integral • When dx approaches 0, we can approximate the area below f(x) between x1 and x2. • We denote as the integral of f(x) from x1 to x2.
Implementation of integral() • Program framework
Implementation of integral() • Use a very small value to represent dx. • Compute the area of rectangle by multiplying f(x) and dx. • Accumulate the area of rectangles. for (double i = x1; i <= x2; i += DX) { …… }