What is Matlab ?

( The following is obtained from MATLAB Documentation)

MATLAB is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. Typical uses include:

     Math and computation
     Algorithm development
     Modeling, simulation, and prototyping
     Data analysis, exploration, and visualization
     Scientific and engineering graphics
     Application development, including Graphical User Interface building

MATLAB is an interactive system whose basic data element is an array that does not require dimensioning. This allows you to solve many technical computing problems, especially those with matrix and vector formulations, in a fraction of the time it would take to write a program in a scalar non interactive language such as C or Fortran.

The name MATLAB stands for matrix laboratory. MATLAB was originally written to provide easy access to matrix software developed by the LINPACK and EISPACK projects, ( these projects were sponsored by NASA and much of the source code is in public domain) which together represent the state-of-the-art in software for matrix computation.

MATLAB has evolved over a period of years with input from many users. In university environments, it is the standard instructional tool for introductory and advanced courses in mathematics, engineering, and science. In industry, MATLAB is the tool of choice for high productivity research, development, and analysis.



Instructors note:  This instructor uses Matlab in all his courses at RIT which require computation or simulation.
Matlab can do effortlessly all that you learnt in your numerical methods course.  It should take care of all your programming needs in the undergraduate and graduate program.  Your Matlab programs can be easy to write ,  easy to put together,  as well as be self contained.  You should really have a strong reason not to use it in your courses/thesis.


 

The MATLAB system consists of six main parts:

    The MATLAB language.
This is a high-level matrix/array language with control flow statements, functions, data structures, input/output, and object-oriented programming features.
    The MATLAB working environment.
This is the set of tools and facilities that you work with as the MATLAB user or programmer. It includes facilities for managing the variables in your workspace and importing and exporting data. It also includes tools for developing, managing, debugging, and profiling M-files, MATLAB's applications.
    Handle Graphics.
This is the MATLAB graphics system. It includes high-level commands for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics. It also includes low-level commands that allow you to fully customize the appearance of graphics as well as to build complete Graphical User Interfaces on your MATLAB applications.
    The MATLAB mathematical function library.
This is a vast collection of computational algorithms ranging from elementary functions like sum, sine, cosine, and complex arithmetic, to more sophisticated functions like matrix inverse, matrix eigenvalues, Bessel functions, and fast Fourier transforms.
    The MATLAB Application Program Interface (API).
This is a library that allows you to write C and Fortran programs that interact with MATLAB. It include facilities for calling routines from MATLAB (dynamic linking), calling MATLAB as a computational engine, and for reading and writing MAT-files.
    Toolboxes
The toolboxes are an extension to the basic Matlab system by providing access to additional mathematical function library on specific topics.  The following are some of the tool boxes available ( not all are available yet for Version 5.2)
 
     Communications Toolbox
     Control System Toolbox
     DSP Blockset
     Extended Symbolic Math Toolbox
     Financial Toolbox 
     Frequency Domain System Identification
     Fuzzy Logic Toolbox
     Higher-Order Spectral Analysis Toolbox
     Image Processing Toolbox
     LMI Control Toolbox
     Mapping Toolbox
     Model Predictive Control Toolbox
     Mu-Analysis and Synthesis Toolbox
     NAG Foundation Blockset  (for Sun4, Sol2, Alpha, SGI, and SGI64)
     Neural Network Toolbox
     Optimization Toolbox
     Partial Differential Equation Toolbox
     QFT Control Design Toolbox
     Robust Control Toolbox
     Signal Processing Toolbox
     Spline Toolbox
     Statistics Toolbox
     System Identification Toolbox
     Wavelet Toolbox