MATLAB

Description:
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
• Data acquisition
• Modeling, simulation, and prototyping
• Data analysis, exploration, and visualization
• Scientific and engineering graphics
• Application development, including graphical user interface building

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.

Capabilities:
The MATLAB system consists of five main parts, providing the user with an almost unlimited range of capabilities:

Desktop Tools and Development Environment. This is main MATLAB user interface. It is the set of tools and facilities that help you use MATLAB functions and files. Many of these tools are graphical user interfaces. It includes the MATLAB desktop and Command Window, a command history, an editor/ debugger, a code analyzer and other reports, browsers for viewing help, the workspace, files, and the search path.

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 Language. This is a high-level matrix/array language with control flow statements, functions, data structures, input/output, and object-oriented programming features. It allows both "programming in the small" to rapidly create quick and dirty throw-away programs, and "programming in the large" to create large and complex application programs.

Graphics. MATLAB has extensive facilities for displaying vectors and matrices as graphs, as well as annotating and printing these graphs. It includes high-level functions for two-dimensional and three-dimensional data visualization, image processing, animation, and presentation graphics. It also includes low-level functions 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 External Interfaces/API. This is a library that allows you to write C and Fortran programs that interact with MATLAB. It includes facilities for calling routines from MATLAB (dynamic linking), calling MATLAB as a computational engine, and for reading and writing MAT-files.

Limitations:
Because MATLAB offers the user almost unlimited capabilities, the user's fluency with the software is the only real limitation. If you want to do a simple calculation, design a mathematical model, or perform data analysis, there is almost definitely a way to get MATLAB to do it. If you encounter difficulties, extensive MATLAB documentation is available online.

Basic Inputs:
Depending on how you intend to use MATLAB, the inputs will vary from lines of code if you are programming, to datasets ifyou need to perform data analysis, to equations that you are trying to solve. Once you are familiar with the interface, determining exactly what inputs are needed for your particular purpose is straightforward.

Basic Output:
MATLAB is capable of generating graphs, charts, datasets, 3-D visualizations, and time-series animations. It will also solve equations, perform calculations, and generate outputs for scenarios for user-programmed models.

How to Run the Model:
The following list details many of the ways MATLAB can be used. Numerous examples and tutorials on how to make use of MATLAB's features can be found by clicking on the links.

Desktop Tools and Development Environment: how to manage your workspace, functions, and files
Mathematics: Mathematical operations and functions
Data Analysis: Generaldata analysis and time-series analysis functions and graphical user interfaces
Programming: Programming features and techniques
Graphics: Plotting tools, 2-D line plots, bar graphs, histograms, graph annotations, etc.
3-D Visualizations: Viewing and ligthting techniques, transparency, volume visualization
Creating Graphical User Interfaces: Graphical user interfaces created with MATLAB
External Interfaces: MEX-files, the MATLAB engine, and interfacing to Java, ActiveX, and the serial port (if sensors or other equipment is connected to the computer)

Developer: The MathWorks, Inc., Natick, MA

Faculty Contact: Gavin Gong

Application: MATLAB is a powerful tool that can be used to your benefit in any course. Whether it be for data analysis, mathematical computation, or to better illustrate points for term projects or presentations, MATLAB can help.


 



© 2006 Columbia University Department of Earth and Environmental Engineering.