Page 234 - Sustainability in the Process Industry Integration and Optimization
P. 234
S o f t wa r e T o o l s 211
Platform independence: MATLAB is supported on many different
computer platforms, which provides a large measure of platform
independence. The language is supported on Windows, Linux,
several versions of UNIX, and the Macintosh. This means that
programs written in MATLAB can migrate to different platforms.
Predefined functions: MATLAB comes complete with an extensive
library of well-tested, predefined functions that generate solutions
to many basic technical tasks. The arithmetic mean, standard
deviation, median, and hundreds of other mathematical functions
are built in to the MATLAB language, which makes the user’s job
much easier.
Device-independent plotting: Unlike most other computer languages,
MATLAB has many commands for imaging and integral plotting.
The images and plots can be displayed on any graphical output device
supported by the computer that is hosting MATLAB.
Graphical user interface: MATLAB includes tools with which a
programmer can interactively construct a graphical user interface for
any program. Given this capability, programmers can design
sophisticated data-analysis programs that can be operated by
relatively inexperienced users.
The built-in functions of MATLAB allow users to perform basic
minimization and maximization routines. However, compiling and
executing a proper optimization program may require the use of
add-on packages. One popular add-on is TOMLAB (TOMLAB, 2010),
a powerful optimization platform and modeling language for
solving applied optimization problems in MATLAB. The TOMLAB
environment includes a wide range of features, tools, and services
for optimization analyses.
9.7.2 Alternatives to MATLAB
There are two free alternatives to MATLAB software: SCILAB
(Scilab, 2009) and OCTAVE (Octave, 2009). Both provide number-
crunching power similar to MATLAB’s but at an advantageous
cost/performance ratio (since they are free). In essence, SCILAB and
OCTAVE are interpreted, matrix-based programming languages.
They have strong similarities to MATLAB: (1) the use of matrices as
a fundamental data type; (2) built-in support for complex numbers;
(3) powerful built-in math functions and extensive function libraries;
and (4) extensibility in the form of user-defined functions and macro
languages.
9.8 Other Tools
9.8.1 Modelica
Modelica is an object-oriented, declarative, multidomain language
for the component-oriented modeling of complex systems—that is,