# taylor

Computes the first and second derivatives of a function using the Taylor formula.

Controller: **CodeCogs**

## Interface

C++

## Overview

This module computes the first or second numerical derivatives of a function at a particular point using the Taylor formula. The advantage is that the interval used in computing the numerical derivative need not be symmetrical around the given point.## References:

Mihai Postolache - "Metode Numerice", Editura Sirius### Authors

*Lucian Bentea (September 2006)*

## Taylor1

doubletaylor1( | double | (*f)(double)[function pointer] | |

double | x | ||

double | h | ||

double | gamma` = 1.0` | )[inline] |

### Example 1

- Below we give an example of how to compute the first numerical derivative of at point , considering (equally spaced abscissas).
The absolute error from the actual value of the derivative at that point is also displayed.
#include <codecogs/maths/calculus/diff/taylor.h> #include <stdio.h> #include <math.h> // precision constant #define H 0.001 // function to differentiate double f(double x) { return cos(x); } // the derivative of the function, to estimate errors double df(double x) { return -sin(x); } int main() { // display precision printf(" h = %.3lf\n\n", H); // compute the numerical derivative double fh = Maths::Calculus::Diff::taylor1(f, 1, H); // display the result and error estimate printf(" f(x) = cos(x)\n"); printf(" f`(1) = %.15lf\n", fh); printf("real value = %.15lf\n", df(1)); printf(" error = %.15lf\n\n", fabs(fh - df(1))); return 0; }

**Output**h = 0.001 f(x) = cos(x) f`(1) = -0.841470844562695 real value = -0.841470984807897 error = 0.000000140245202

### Parameters

f the function to differentiate x the abscissa at which you want to compute the first derivative h the value of the precision constant *h*gamma Default value = 1.0

### Returns

- The first numerical derivative of the given function at the x abscissa.

##### Source Code

Source code is available when you buy a Commercial licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.

## Taylor2

doubletaylor2( | double | (*f)(double)[function pointer] | |

double | x | ||

double | h | ||

double | gamma` = 1.0` | )[inline] |

### Example 2

- Below we give an example of how to compute the second numerical derivative of at , considering (equally spaced abscissas). The absolute error from the actual value of the derivative at that point is also displayed.
#include <codecogs/maths/calculus/diff/taylor.h> #include <stdio.h> #include <math.h> // precision constant #define H 0.0001 // function to differentiate double f(double x) { return cos(x); } // the second derivative of the function, to estimate errors double d2f(double x) { return -cos(x); } int main() { // display precision printf(" h = %.4lf\n\n", H); // compute the numerical derivative double fh = Maths::Calculus::Diff::taylor2(f, 1, H); // display the result and error estimate printf(" f(x) = cos(x)\n"); printf(" f``(1) = %.15lf\n", fh); printf("real value = %.15lf\n", d2f(1)); printf(" error = %.15lf\n\n", fabs(fh - d2f(1))); return 0; }

**Output**h = 0.0001 f(x) = cos(x) f``(1) = -0.540302319866019 real value = -0.540302305868140 error = 0.000000013997879

### Parameters

f the function to differentiate x the abscissa at which you want to compute the second derivative h the value of the precision constant *h*gamma Default value = 1.0

### Returns

- The second numerical derivative of the given function at the x abscissa.

##### Source Code

Source code is available when you buy a Commercial licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.