Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 2.32 KB

File metadata and controls

59 lines (38 loc) · 2.32 KB

MasterCalculator

This project contains numerous functions primarily for usage in an Undergraduate Physics context

This project contains numerous functions that can solve complicated tasks / problems, focused on use in an Undergraduate Physics students work. These are showcased using a web-app created with Streamlit.

The functionality supported (and planned to implement) are as follows:

  1. Interpolation
  2. Curve Fitting
  3. Differentiation / Integration
  4. Scientific Calculator
  5. Unit Converter
  6. Vector Operations
  7. Other

User Instructions

Interpolation

Interpolate between datapoints using algorithms like Cubic-Spline Interpolation.

Curve Fitting

Using SciPy, fit various types of curve to data.

Differentiation / Integration

Perform both analytical and numerical Differentiation and Integration using SymPy or SciPy.

Scientific Calculator

Similar to the likes of the Desmos Scientific Calculator - the main addition being hyperbolic functions, and constants (using NumPy).

Unit Converter

Convert for example: m to km, or ly to kpc and so on. May use a library like AstroPy.

Vector Operations

Various Vector Operations like: Grad, Div, Cirl, Laplacian, Cross Product, Dot Product, etc.

Other

More features may include: Latex Code generator, Notes functionality, an app like WebPlotDigitizer

User Instructions

  1. Clone this project
  2. Create a virtual enviroment to be used, ideally in the same folder as this project
  3. Install the necessary libraries as detailed, using pip
    pip install *library*
    Note: ensure protobuf is of version 3.20.x or lower; using pip install --upgrade protobuf==3.19.0
  4. Open the terminal in the directory of the desired script (CTRL + L, type cmd), or cd into it
  5. Activate the Virtual Enviroment *venv*\Scripts\activate
  6. Run the script using Streamlit streamlit run Home.py
    Note: To close the app, CTRL + C on the terminal then close the browser