MATLAB® is a high-level language and interactive environment for numerical computation, visualization, and programming from Mathworks Inc. Matlab is an abbreviation for "MATrix LABoratory." As they claim, it is the language of technical computing. More than a million engineers and scientists in industry and academia use MATLAB. The latest release available is R2015b.
The basic building block in MATLAB is the matrix. A matrix is a two-dimensional array. The fundamental data type is the array. Vectors, scalars, real and complex matrices are all automatically handled as special cases of basic arrays. There are many built-in functions for linear algebra, signal processing, data analysis, optimization, solution of ordinary differential equations (ODEs), and many other types of scientific operations. The user is not limited to the built-in functions; he can write his own functions in MATLAB language.
- High-level language for numerical computation, visualization, and application development
- Interactive environment for iterative exploration, design, and problem solving
- Mathematical functions for linear algebra, statistics, Fourier analysis, filtering, optimization, numerical integration, and solving ordinary differential equations
- Built-in graphics for visualizing data and tools for creating custom plots
- Development tools for improving code quality and maintainability and maximizing performance
- Tools for building applications with custom graphical interfaces
- Support for third-party hardware, such as webcam, Raspberry Pi™, and Arduino® hardware
- Functions for integrating MATLAB based algorithms with external applications and languages such as C, Java, .NET, and Microsoft® Excel®
The MATLAB® and Simulink® environments are integrated into one entity, and thus we can analyze, simulate, and revise our models in either environment at any point. Simulink® is a block diagram environment for multi-domain simulation and Model-Based Design. It supports simulation, automatic code generation, and continuous test and verification of embedded systems.
We invoke Simulink from within MATLAB. Simulink provides a graphical editor, customizable block libraries, and solvers for modeling and simulating dynamic systems. It is integrated with MATLAB®, enabling you to incorporate MATLAB algorithms into models and export simulation results to MATLAB for further analysis.
- Graphical editor for building and managing hierarchical block diagrams
- Libraries of predefined blocks for modeling continuous-time and discrete-time systems
- Simulation engine with fixed-step and variable-step ODE solvers
- Scopes and data displays for viewing simulation results
- Project and data management tools for managing model files and data
- Model analysis tools for refining model architecture and increasing simulation speed
- MATLAB Function block for importing MATLAB algorithms into models
- Legacy Code Tool for importing C and C++ code into models
There are also several optional 'toolboxes' available for special applications. Toolboxes are a collection of routines that are designed to do common applications. These applications are more involved than the simple one-lines and normal programming syntax that the base MATLAB has. Toolboxes will make your life easier because you don't have to write them, and test them, yourself.
- Bioinformatics Toolbox
- Communications System Toolbox
- Computer Vision System Toolbox
- Control System Toolbox
- Curve Fitting Toolbox
- DSP System Toolbox
- Data Acquisition Toolbox
- Database Toolbox
- Datafeed Toolbox
- Econometrics Toolbox
- Embedded Coder
- Financial Instruments Toolbox
- Financial Toolbox
- Fixed-Point Toolbox
- Global Optimization Toolbox
- Image Acquisition Toolbox
- Image Processing Toolbox
- Instrument Control Toolbox
- Model Predictive Control Toolbox
- Neural Network Toolbox
- Optimization Toolbox
- Parallel Computing Toolbox
- Partial Differential Equation Toolbox
- RF Toolbox
- Real-Time Windows Target
- Robust Control Toolbox
- Signal Processing Toolbox
- Simulink 3D Animation
- Simulink Control Design
- Stateflow Statistics Toolbox
- Symbolic Math Toolbox
- System Identification Toolbox
- Wavelet Toolbox
- xPC Target
Three men, J. H. Wilkinson, George Forsythe, and John Todd, played important roles in the origins of MATLAB 50 Years ago. MATLAB was written originally to provide easy access to matrix software developed by the LINPACK (linear system package) and EISPACK (Eigen system package) projects. Portions of LINPACK and EISPACK are used to develop the first version of MATLAB. The first Fortran MATLAB was portable and could be compiled to run on many of the computers that were available in the late 1970s and early 1980s.
Two consulting companies in Palo Alto extended MATLAB to have more capability in control analysis and signal processing and, in the early 1980s, offered the resulting software as commercial products. Jack Little, a Stanford- and MIT-trained control engineer, was the principal developer of one of the first commercial products based on Fortran MATLAB. He and colleague Steve Bangert reprogrammed MATLAB in C and added M-files, toolboxes, and more powerful graphics. They with Cleve Moler founded The MathWorks in California in 1984.
Jack Little, founder and CEO of The MathWorks.
- Ease of use
- Very quick learning curve
- A very large database of built-in algorithms
- Allows to work interactively with the data
- Ease of programming
- Speed of computation
- Ability to process images and video
- Clearly written documentation with many examples, as well as online resources
- A large user community with lots of free code and knowledge sharing
- Signal processing and communications
- Image and video processing
- Test and measurement
- Computational finance, biology, etc.
- Research and development tool that has no equal
- Simulation and modeling and prototyping
- Data analysis, exploration, and visualization
- Engineering applications
- Application development, including graphical user interface building
MATLAB has an extensive online help mechanism. Typing help at the command prompt will reveal a long list of topics on which help is available. There is a much more user-friendly way to access the online help, namely via the MATLAB Help Browser. You can activate it in several ways; for example, typing either helpwin or helpdesk at the command prompt brings it up. Alternatively, it is available through the menu bar under either View or Help.