Matlab

Matlab (proper spelling: MATLAB ) is a commercial software company The MathWorks, Inc. to solve mathematical problems and to graphically display the results. Matlab is primarily intended for numerical computations using matrices designed, whence is derived the name: Matrix Laboratory.

Formation

Matlab was developed in the late 1970s by Cleve Moler at the University of New Mexico to make the students to the Fortran libraries LINPACK and EISPACK linear algebra from a command line with no programming skills in Fortran accessible. Along with Jack Little and Steve Bangert founded in 1984 Moler The MathWorks Matlab and made into a commercial product, the Control System Toolbox, especially in control theory found many users, together with a first feature set. The academic bond is preserved in the development and distribution of relatively inexpensive student versions up today and was possibly also the basis for the success of the software in addition to other platforms such as numerical MatrixX. The libraries used LINPACK and EISPACK Matlab were replaced by the similarly written in Fortran LAPACK and BLAS libraries free in 2000.

Use

Matlab is used as opposed to computer algebra systems not symbolic but primarily the numerical ( numerical ) solution of problems. The software is used in industry and at universities, especially for numerical simulation and data acquisition, data analysis and evaluation.

Matlab is also the basis for Simulink, another product of the company The MathWorks, which is used for time- driven simulation, and Stateflow, which is used for event- oriented simulation, and for numerous application-and domain-specific extensions.

Structure and toolboxes

Is programmed under Matlab in a proprietary programming language that is interpreted in that machine ( computer). Smaller programs can be used as so-called scripts or functions are packaged into atomic units, which allows the creation of application-oriented tool boxes ( toolboxes ).

Many such packages are also available commercially. Its simplified, mathematically oriented syntax of the Matlab scripting language and the extensive function libraries, for example, statistics, signal and image processing, the development of appropriate programs is much simpler as possible, for example, under C. An example is the Symbolic Toolbox to use symbolic expressions unlike occupied with numbers variable. There are also interfaces to integrate C code, and a compiler that can be created with a script regardless of Matlab executable C code. This mathematically complex modules can be developed and tested for C projects in the Matlab environment.

Matlab offers from the object-oriented programming, the concepts of classes, inheritance, packages and call -by-value calls.

Matlab is next to the language Matlab from a graphical desktop environment to see different views such as variables, plots and code at a glance and be able to handle many tasks by mouse interaction and keyboard shortcuts.

Interaction with other languages

Matlab can call functions in C or Fortran for example. To this end, an adapter must function ( the so-called mexFunction ) be included that controls the transfer of parameters and return values.

Libraries in Java, ActiveX or. NET can be called directly from Matlab. Many libraries in Matlab, such as those for the integration of XML or SQL are constructed as an adapter by Java or ActiveX. About the Matlab Compiler and so-called builder addons can also reverse direction are used and you can call functions and code in Matlab from Java or. NET out.

As an alternative to the MuPAD based Symbolic Math Toolbox (also from MathWorks ) Matlab can also be connected to Maple or Mathematica.

Alternatives

Since Matlab language as version 6 is based on the open source libraries LAPACK and BLAS, there are now several free alternatives to Matlab with the same numerical quality. These alternatives focus is often on the possibilities as a programming language. From the French INRIA ( Institut National de Recherche en Informatique et en Automatique ) comes the alternative Scilab / Xcos. In the field of free software, there are several open source projects, which simulate the functionality of Matlab and highlight different aspects. These projects often seek no direct compatibility; the differences from Matlab vary. As part of the GNU Project GNU Octave has been created which is code- compatible with Matlab in many parts. Another is the software package FreeMat.

Matplotlib and Numpy are Python libraries, expand the Python for Matlab alternative. Numpy is also based on LAPACK and BLAS. The syntax of Python / numpy differs from Matlab, but would be comparatively simple.

In addition, there are two alternatives in Scala, a JVM - based programming language and ILNumerics that runs on top. NET.

The larger computer algebra system, intended primarily for symbolic calculations include numerical algorithms; as examples may be mentioned Maple and Mathematica.

556374
de