C++ implementations of classic numerical methods used in scientific computing and engineering, developed as part of the Numerical Methods course during my studies.
Least squares polynomial approximation using Gaussian elimination. Fits best-fit polynomial to data points.
- Method: Normal equations + Gaussian elimination
- Features: Degree up to 5, dynamic size arrays
- Input: Data points (x, y) pairs
Estimates derivatives of tabulated functions using finite differences.
- Methods: Forward and backward differences
- Features: Difference tables, multiple methods
- Input: Equally spaced function values
Efficient polynomial evaluation using Horner's nested multiplication scheme.
- Complexity: O(n) multiplications vs O(n²) naive method
- Features: Step-by-step computation display
- Input: Polynomial coefficients and evaluation point
Approximates definite integrals using multiple quadrature methods.
- Methods:
- Rectangle (underestimate/overestimate)
- Trapezoid rule
- Simpson's rule
- Features: Menu-driven, easy method comparison
- Input: Equally spaced function values
Finds polynomial passing through given data points using Gaussian elimination.
- Method: Vandermonde matrix + Gaussian elimination
- Features: Exact interpolation, coefficient back substitution
- Input: Data points (exact pass-through)
Each project has its own directory with:
main.cpp- C++ source codetest.txt- Sample dataREADME.md- Method-specific documentation
cd <project_directory>
g++ -o main main.cpp
./mainOn Windows:
g++ -o main.exe main.cpp
main.exe- C++11 or later
- G++ compiler (or compatible)
- Standard library (iostream, vector, cmath, fstream, etc.)
num_methods/
├── approximation/ # Least squares fitting
├── differentiation/ # Finite differences
├── horner/ # Polynomial evaluation
├── integration/ # Numerical integration
├── interpolation/ # Exact polynomial fitting
└── README.md # This file
- Approximation: Use when you want best-fit polynomial
- Interpolation: Use when you need exact polynomial through points
- Differentiation: Estimate derivatives from tables
- Integration: Approximate area under curve
- Horner: Fast evaluation of approximated/interpolated polynomials
- All programs read from
test.txtin the same directory - Data format: space or newline separated x,y pairs
- Most use Gaussian elimination for numerical stability
- See individual README.md for method specifics