Bringing Matrix Software into the Classroom
MATLAB takes its name from “Matrix Laboratory”. The year 1984 marks the formation of its commercial version and extensible programming environment, while the early calculator dated to the late 1970s. Teaching linear algebra and numerical analysis at the University of New Mexico, Cleve Moler wanted students to use established algorithms directly without writing, compiling and running a Fortran program for every problem.
Its foundation was two scientific-computing libraries, LINPACK and EISPACK, which provided numerical tools for linear equations and related matrix computations, and for eigenvalue problems respectively. Moler, who participated in their development, placed their subroutines behind an interactive interface so learners could focus on the matrices themselves. The design initially responded to teaching needs rather than a preplanned general-purpose software company.
References: [2]
Fortran Implementation and Interactive Use
Early MATLAB was written in Fortran, with matrices as its core data type and scalars and vectors handled within that framework. Users entered expressions at a terminal, and the program immediately computed and displayed results. University and national-laboratory mainframe time-sharing systems provided places to use it. Portability allowed installation on different machines rather than confining it to one computer room.
Extensibility remained limited. Adding a built-in function usually required modifying the Fortran source and recompiling; later M-files for organizing user functions and complete toolboxes did not yet exist. Moler drew on Wirth's teaching approach to parsing when writing the interpreter, while numerical computation relied on existing subroutines, establishing a division of work between the language interface and algorithm libraries.
References: [2]
How a Left-Division Expression Solves Equations
The 1981 users' guide already explicitly identified the backslash as matrix left division. Using its old angle-bracket syntax, an illustrative example can be constructed: A = <3 1; 1 2>, b = <9; 8>, followed by x = A\b. The two equations are 3x₁+x₂=9 and x₁+2x₂=8, giving a solution column vector containing 2 and 3. This example follows the syntax of the period; it is not an original exercise from the guide.
Left division here does not divide corresponding elements and does not require explicitly calculating an inverse matrix first. The guide explained that square systems were solved through a Gaussian-elimination factorization, with warnings for nearly singular matrices. A short expression wrapped a standard algorithm in notation close to a textbook's, but users still had to assess rounding errors and the conditioning of the problem.
References: [1]
Engineering Users Prompted a Redesign
During the 1979–1980 academic year, Moler taught numerical analysis at Stanford. Students in control theory and signal processing found that the matrix calculator could directly assist work in their fields. Control engineer Jack Little encountered MATLAB through exchanges in this circle and saw personal computers' potential as technical-computing tools.
In 1983, Little proposed commercialization and began reimplementing and extending the system in C, with Steve Bangert participating in development. User functions, M-files, toolboxes and stronger graphics capabilities allowed users to write reusable workflows outside the core system. The new MATLAB moved from calculator to programming environment, leaving openings for extensions in specialist domains.
References: [2]
The Company and Public Debut in 1984
Moler, Little and Bangert founded MathWorks in California in 1984. PC-MATLAB was publicly demonstrated that December at the IEEE Conference on Decision and Control in Las Vegas, targeting IBM personal computers and compatibles. Choosing a control-engineering conference continued the direct role of engineering users in driving the software's development.
Moler's oral history explained that early development relied principally on the founders' own time and savings, without outside investment. Little left his job to develop it, while Bangert initially contributed in his spare time. The company's establishment, conference debut and earlier academic program were distinct events; 1984 cannot be treated as the common birth date of all MATLAB code.
Later Extensions and Historical Significance
After commercialization, the software expanded along two paths: specialist toolboxes and computational capabilities. The Control System Toolbox appeared in 1985 and the Signal Processing Toolbox in 1987. Sparse matrices were added in 1992, followed by Image Processing and Symbolic Math toolboxes in 1993. These were subsequent developments and cannot be projected back into the original matrix calculator.
MATLAB's important change was to connect specialist numerical programs, interactive experimentation and user-written functions. Matrix operations could replace many low-level loops, letting engineers test models quickly; at the same time, an accessible interface did not remove the limits of numerical analysis. Its spread shows how a teaching tool could develop into a continually expanding technical-computing platform through the practical needs of users across disciplines.