An open API service indexing awesome lists of open source software.

https://github.com/antonashraf/numerical-calculator

A Python calculator that implements various numerical methods for finding roots of equations with graphs and GUI.
https://github.com/antonashraf/numerical-calculator

calculator graph gui numerical-methods python tkinter

Last synced: over 1 year ago
JSON representation

A Python calculator that implements various numerical methods for finding roots of equations with graphs and GUI.

Awesome Lists containing this project

README

          

# Numerical Methods Calculator

This is a Python program that implements various numerical methods for finding roots of equations. It provides a graphical user interface (GUI) built using the Tkinter library.
To have a local test without installing the dependencies, you can **Download** the executable file from _[here](https://bit.ly/3Qnn3nx)_ ⬇️, to make sure that it will work in your computer close the security protection or add the file to the exceptions.

## _Main Program Demo_
![video](https://github.com/AntonAshraf/Materials/blob/main/Numerical/NumericalProject.gif)

## Prerequisites

- Python 3.8 or higher
- Matplotlib library
- Sympy library
- Tkinter library

## Installation

1. Clone the repository or download the source code.
2. Install the required dependencies by running the following command:

```pip install -r requirements.txt```

## How to Run

1. Open a terminal or command prompt.
2. Navigate to the project directory.
3. Run the following command to start the program:

```python main.py``` or ```python3 main.py```

## Usage

1. Select a numerical method from the dropdown menu.
2. Enter the equation in the "Enter f(x)" field. Use the `^` symbol for exponentiation.
3. Enter the required parameters based on the selected method.
4. Click the "Calculate" button to find the root of the equation.
5. The program will display the root, error, and additional information.

## Numerical Methods

The program supports the following numerical methods:

- Bisection
- False Position
- Secant
- Newton-Raphson
- Simple Fixed-Point Iteration

Each method has different requirements for input parameters. Make sure to fill in the appropriate fields based on the selected method.

### More examples for the Application

##### Main Window
![Main Window](https://github.com/AntonAshraf/Materials/blob/main/Numerical/main_window.png)
##### Steps of Iterations
![Steps Window](https://github.com/AntonAshraf/Materials/blob/main/Numerical/stepsOfIteration.png)
##### Plotting Bisection
![Plotting](https://github.com/AntonAshraf/Materials/blob/main/Numerical/Plotting.gif)

## Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

## License

This project is licensed under the [MIT License](LICENSE).