Skip to content

MinaMourice/AsuMathLabG14

Repository files navigation

Asu MathLab Project

Table of Contents

Intro

Another mathematical library software similar to Matlab and Octave.

Asu MathLab Project is written in C++ using Object Oriented Programming (OOP) Concepts

The aim of the software is to take any File containing Matlab or Octave Command and execute it

Asu Mathlab will try to extract the following information:

  • Matrix Definition Commands
  • Operation Lines on Given Matrices

Setup

Clone this repository on your linux machine.

git clone https://github.com/MinaMourice/AsuMathLabG14.git

Open your terminal and navigate to the repo's directory.

cd AsuMathLabG14

Run make command to compile the library:

make

Run ./matrix command to run the library in your terminal:

./matrix

Take it for a spin

>A = [2.2 7.3 4.8 2.4; 2.3 6.5 8.9 1.2; 4.9 3.8 7.2 7.5; 9.8 3.4 7.5 8.9]
>B = [3.4 5.7 4.2 1.4; 6.3 2.5 8.1 3.1; 6.4 2.8 7.1 8.1; 3.2 5.1 7.2 6.2]
>C = A + B
>D = A - B
>E = A * B
>H = C'
>G = 1 ./ A
>F = A / B 

Phase 1 Description

  • Implement C++ class for matrix
  • Support dynamic creation and destruction of matrices of any size
  • Support addition, subtraction, multiplication, transpose and division
  • Process input user commands and show results directly
  • Process input file, show each step result then exit

Features

  • Reading scripts support.
  • Command line support.
  • Complex numbers support.
  • Matrix addition and subtraction.
  • Matrix determinant and inverse.
  • Matrix multiplication and division.
  • Matrix transpose.

Phase 2 Description

  • Support mathematical functions.
    • Trigonometric, Logarithmic, Roots, Power
  • Support mathematical expressions.
    • Either with (dot) or not.
  • Support flexible matrix parser.
    • Accept matrix in matrix, expressions and variables
  • Support error handling.
    • Do not crash for invalid input.

Phase 2 Description

  • Support mathematical functions.
    • Trigonometric, Logarithmic, Roots, Power
  • Support mathematical expressions.
    • Either with (dot) or not.
  • Support flexible matrix parser.
    • Accept matrix in matrix, expressions and variables
  • Support error handling.
    • Do not crash for invalid input.

ToDo

  • Matrix trigonometric functions.
  • Matrix inverse trigonometric functions.
  • Matrix hyperbolic functions.
  • Matrix inverse hyperbolic functions.
  • Matrix bitWise functions.
  • Matrix logarithmic and exponential functions.
  • Matrix roots and power functions.
  • Error Handling.

Additional

You can always check the doctor's project charter, our google drive spreadsheet , or our ZenHub Issues Management Board.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages