A Numerical Computing project demonstrating how nonlinear algebraic equations model real-world phenomena across physics, electronics, and population biology — solved using classical iterative root-finding methods in both MATLAB and Python.
Nonlinear algebraic equations — where unknowns appear as variables raised to powers or inside nonlinear functions — are fundamental to modeling complex systems in science and engineering. Unlike linear equations, they rarely have clean analytical solutions, requiring iterative numerical methods to approximate roots.
This project implements and applies three classical root-finding methods to three distinct real-world problems, each drawn from a different domain.
| Method | Description | Convergence |
|---|---|---|
| Newton's Method | Iterative technique using linear approximation (tangent line) to converge on a root | Quadratic |
| Bisection Method | Repeatedly halves an interval, selecting the subinterval where the function changes sign | Linear |
| Secant Method | Iterative method approximating the derivative using two prior points, avoiding the need for an explicit derivative | Superlinear |
Models how a population grows rapidly at first, then slows as it approaches the environment's carrying capacity.
dP/dt = r·P(1 − P/K)
- P — population size
- r — intrinsic growth rate
- K — carrying capacity
Application: Population dynamics in ecology — understanding how species grow and stabilize within resource-limited ecosystems.
Models the nonlinear current-voltage relationship in a semiconductor diode — a foundational equation in circuit design.
I = I_S · (e^(V_D / nV_T) − 1)
- I — current through the diode
- I_S — reverse saturation current
- V_D — voltage across the diode
- n — ideality factor
- V_T — thermal voltage
Application: Essential for designing and analyzing electronic circuits involving diodes and semiconductor components.
Determines the dimensions of a rectangular field given its perimeter and area — a classic nonlinear system since the two equations together are non-linear in the unknowns.
P = 2(l + w)
A = l × w
- P — perimeter
- A — area
- l, w — length and width of the field
Application: Urban planning and agricultural land division — solving for dimensions when only aggregate measurements (perimeter, area) are known.
| Domain | Example Use Case |
|---|---|
| Physics | Modeling wave propagation in complex mediums — sound waves in air, seismic waves through ground |
| Engineering | Describing nonlinear behavior of electrical circuit components and their interactions |
| Biology | Modeling population growth and interaction dynamics within ecosystems |
| Layer | Technology |
|---|---|
| Primary Implementation | MATLAB |
| Secondary Implementation | Python |
| Methods | Newton's Method, Bisection Method, Secant Method |
nonlinear-equations-modeling/
│
├── Matlab Files/
│ ├── logistic-growth-problem.m # Population growth model solver
│ ├── Diode-Current-Problem.m # Diode I-V equation solver
│ └── Rectangular-Field-Problem.m # Perimeter/area dimension solver
│
├── Python-File/
│ └── app.py # Python implementation
│
├── docs/
│ ├── Application of Nonlinear Algebraic Equations in Mathematical Modeling_Report.pdf
│ ├── Application of Nonlinear Algebraic Equations in Mathematical Modeling_PPT.pptx
│
│
└── README.md
- Open MATLAB
- Navigate to the
Matlab Files/directory - Run any of the three
.mscripts directly:logistic-growth-problem Diode-Current-Problem Rectangular-Field-Problem
- Navigate to
Python-File/ - Install dependencies (NumPy recommended for numerical operations)
pip install numpy
- Run the script
python app.py
Full methodology, derivations, and results are available in the project report (docs/Application of Nonlinear Algebraic Equations in Mathematical Modeling_Report.pdf) and accompanying presentation.
Built as a Numerical Computing project at PAF-KIET, applying classical root-finding algorithms to real, physically meaningful nonlinear systems rather than abstract textbook equations.
Sheikh Alyan — BS Computer Science, PAF-KIET