# What is MATLAB?

MATLAB is a software package for high-performance mathematical computation, visualization, and programming environment. It provides an interactive environment with hundreds of built-in functions for technical computing, graphics, and animations.

MATLAB stands for Matrix Laboratory. MATLAB was written initially to implement a simple approach to matrix software developed by the LINPACK (Linear system package) and EISPACK (Eigen system package) projects.

MATLAB is a modern programming language environment, and it has refined data structures, includes built-in editing and debugging tools, and supports object-oriented programming.

MATLAB is Multi-paradigm. So, it can work with multiple types of programming approaches, such as Functional, Object-Oriented, and Visual. Besides an environment, MATLAB is also a programming language.

As its name contains the word Matrix, MATLAB does its' all computing based on mathematical matrices and arrays. MATLAB's all types of variables hold data in the form of the array only, let it be an integer type, character type or String type variable. MATLAB is used in various disciplines of engineering, science, and economics. MATLAB allows several types of tasks, such as manipulations with matrix, algorithm implementation, data, and functions plotting, and can interact with programs written in other programming languages. MATLAB is a dynamic and weakly typed programming language.

MATLAB environment handles tasks of the declaration of the data type of the variables and provision for an appropriate amount of storage for the variables.

## History of MATLAB

The development of the MATLAB started in the late 1970s by Cleve Moler, the chairman of the Computer Science department at the University of New Mexico. Cleve wanted to make his students able to use LINPACK & EISPACK (software libraries for numerical computing, written in FORTRAN), and without learning FORTRAN. In 1984, Cleve Moler with Jack Little & Steve Bangert rewrote MATLAB in C and founded MathWorks. These libraries were known as JACKPAC at that time, later these were revised in 2000 for matrix manipulation and named as LAPACK.

## Main Features and Capabilities of MATLAB

The diagram in the figure shows the main features and capabilities of MATLAB. MATLAB's built-in functions provide excellent tools for linear algebra computations, data analysis, signal processing, optimization, numerical solution of ordinary differential equations (ODEs), quadrate, and many other types of scientific calculations.

Most of these functions use state-of-the-art algorithms. These are numerous functions for 2-D and 3-D graphics, as well as for animations.

MATLAB supports an external interface to run those programs from within MATLAB. The user is not limited to the built-in functions; he can write his functions in the MATLAB language.

There are also various optional "toolboxes" available from the developers of MATLAB. These toolboxes are a collection of functions written for primary applications such as symbolic computations, image processing, statistics, control system design, and neural networks.

The necessary building components of MATLAB are the matrix. The fundamental data type is the array. Vectors, scalars, real matrices, and complex matrices are all automatically handled as special cases of the primary data type. MATLAB loves matrices and matrix functions. The built-in functions are optimized for vector functions. Therefore, Vectorized commands or codes run much faster in MATLAB.

## MATLAB System

The MATLAB systems consist of five main elements: Development Environment

This is the set of tools and facilities that help you use MATLAB operations and files. Many of these tools are the graphical user interface. It involves the MATLAB desktop and command window, a command history, an editor and debugger, and browsers for considering help, the workspace, reports, and the search path.

MATLAB Mathematical Function Library

This is a vast compilation of computing design ranging from basic functions, like sum, sine, cosine, and complex mathematic, to more sophisticated features like matrix inverse, matrix eigenvalues, Bessel functions, and fast Fourier transforms.

MATLAB Language

This is a high level matrix/array language with control flow statement, function, data structure, input/output, and object-oriented programming characteristics. It allows both "programming in the small" to create quick and dirty throw-away programs rapidly and "programming in the large" to create large and complex application functions.

Graphics

MATLAB has extensive facilities for displaying vector and matrices as graphs, as well as annotating and printing these graphs. It contains high-level structures for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics. It also involves low-level structures that allow us to customize the display of graphics fully as well as to build complete graphical user interfaces on our MATLAB applications.

MATLAB External Interfaces/API

This is a library that allows us to write C and FORTRAN programs that interact with MATLAB. It contains facilities for calling routines from MATLAB (dynamic linking), calling MATLAB as a computational engine, and for reading and writing MAT-files.   