Table of Contents
Overview
Working with numbers is at the heart of MATLAB. In this chapter you get a big picture of what “numbers and math” mean in MATLAB, and how MATLAB is designed to help you work with them efficiently. The later sections of this part of the course will go into details about specific topics like vectorized computations, mathematical functions, trigonometry, complex numbers, rounding, and numerical precision. Here you focus on the general ideas that tie all of those pieces together.
MATLAB as a Numeric Computing Environment
MATLAB is primarily a numeric computing environment. This means that its core design assumes you will spend a lot of time working with numbers, arrays of numbers, and mathematical operations on those arrays. Even when you work with images, signals, or data in tables, much of what you do ultimately reduces to operations on numeric arrays.
At the simplest level you can use MATLAB like a calculator in the Command Window. You can type expressions such as 2 + 3, 10 / 4, or 5^2 and see the results immediately. Unlike a basic calculator, however, MATLAB is built to work with many numbers at once. As you will see later, you can perform operations on vectors and matrices with a single command, without writing loops by hand.
Internally, MATLAB stores most numeric values in a standard binary floating point format. You will explore the consequences of this in the chapter on numerical precision and floating point considerations. For now it is enough to know that MATLAB is optimized for fast arithmetic and algebra on arrays of these numeric values.
Numbers Live in Arrays
Even a single number in MATLAB is technically a 1-by-1 array. This is important because the same syntax and functions that work on one number usually also work on many numbers grouped together. When you later learn about scalars and vectorized computations, you will see how this idea allows MATLAB to apply the same operation to all elements of a vector or matrix at once.
For example, if x is a single number, you can compute sin(x). If x is a vector of many values, you can still write sin(x) and MATLAB will return a vector of sines, one for each element. This uniform treatment of numbers and arrays is a central theme of how MATLAB handles math.
You will also see that there is a distinction between operations that treat arrays as mathematical matrices and operations that act on each element individually. The later chapter on vectorized computations will show you how to use this idea effectively, but the key point here is that MATLAB is designed so that arithmetic, functions, and linear algebra fit together naturally.
Built-In Mathematical Power
MATLAB comes with a very large collection of built-in mathematical functions. At the basic level there are functions for common operations such as square roots, logarithms, trigonometric functions, and exponentials. These will be covered in the chapters on basic mathematical functions and on trigonometric and exponential functions.
In addition to these elementary functions, MATLAB provides functions for more advanced numeric work, such as solving equations, integrating, optimizing, and doing linear algebra. Some of these advanced capabilities are part of base MATLAB and others are provided by toolboxes. In this course you will focus mainly on the built-in functions that any beginner can use without extra products.
The important idea at this stage is that you rarely need to implement standard mathematical procedures yourself. MATLAB expects you to call its tested and optimized functions, then combine their results with your own logic and code.
Working with Different Kinds of Numbers
Not all numbers behave the same way. MATLAB supports several numeric types, such as integers and floating point numbers, and it can also represent complex numbers. The general topic of data types and conversions is covered elsewhere in the course, but here you should note that numeric work in MATLAB usually involves:
Real floating point numbers, which are the default and most common.
Complex numbers, where each value has a real and an imaginary part.
Integers, which are sometimes used for indexing or representing discrete values.
The dedicated chapter on complex numbers in MATLAB will show you how complex arithmetic is built into the language just like real arithmetic. The chapter on rounding, modulo, and special values will introduce you to values such as Inf and NaN that arise in numeric computations and need to be handled carefully.
Understanding what kind of numbers you are working with will help you interpret results, especially when you later look at precision issues and special numeric values.
From Exact Math to Numeric Approximation
When you work with numbers in MATLAB you are almost always performing numeric approximations rather than exact symbolic calculations. This is a fundamental distinction. In school mathematics you often manipulate exact fractions or algebraic expressions. In MATLAB, by contrast, a value like $\pi$ is represented as a double precision approximation stored in binary form.
As a result, seemingly simple operations can give results that are very close to the mathematical ideal, but not exactly equal. For example, adding a small number many times may not give an exactly expected answer because of how binary floating point works. The later chapter on numerical precision and floating point considerations will explain how to think about such effects and how to test for approximate equality in a sensible way.
The important idea in this introductory chapter is that MATLAB is a tool for numerical computation. It is designed to give you fast, approximate answers with a known level of precision, rather than exact symbolic results.
Using Functions Instead of Manual Formulas
A recurring pattern when working with numbers and math in MATLAB is to prefer built-in functions over manually coding formulas, whenever possible. For instance, instead of writing a long expression to compute a sine or a logarithm, you call sin or log. Instead of manually coding a polynomial evaluation, you will later learn that MATLAB has dedicated functions for polynomials and other common structures.
This approach has several advantages. The built-in functions are tested, optimized, and often handle edge cases such as very large or very small inputs. They also work naturally with vectors and matrices, which means you can write more concise code. In the chapters on basic mathematical functions and trigonometric and exponential functions you will see practical examples of this style of work.
Thinking in Vectorized Computations
One of the most characteristic ways of working with numbers in MATLAB is to think in terms of vectorized computations. Instead of writing your own loops to apply an operation to each element of an array, you will usually let MATLAB apply a function or operator to the entire array at once.
While the detailed techniques belong in the chapter on scalars and vectorized computations, it is useful to understand the mindset now. You treat arrays of numbers as primary objects and you apply operations that act on whole arrays. This style often results in shorter, clearer, and faster code.
For example, if you have a vector of time points and want to compute a corresponding vector of signal values, you will typically write a single expression with a built-in function that uses the entire vector. MATLAB takes care of the elementwise work internally.
Accuracy, Rounding, and Special Values
When you carry out numeric calculations, questions of accuracy and rounding naturally arise. At some point you need to decide how many digits of a result matter for your application and how to handle results that overflow or are undefined.
In MATLAB, rounding, integer division, and modulo operations have their own functions, which you will learn later. You will also encounter special values like NaN for undefined numeric results, and Inf or -Inf for results that exceed the representable range.
These topics are covered more carefully in the chapter on rounding, modulo, and special values, and in the chapter on numerical precision and floating point considerations. For this introductory overview, it is enough to remember that numeric computation is not only about applying formulas, but also about interpreting the results with an understanding of their limitations.
Connecting Math to Data and Applications
Finally, working with numbers and math in MATLAB is not an isolated activity. Almost every other topic in this course builds on these numeric foundations. Data analysis and statistics use numeric summaries and models. Signal and image processing treat data as numeric arrays. Linear algebra routines operate on matrices and vectors produced by your numeric computations.
As you move forward, you will see that the same basic ideas repeated here, such as arrays of numbers, built-in mathematical functions, and vectorized operations, appear again in many different contexts. Developing comfort with numerical work in simple examples now will make more advanced topics feel familiar later.
Key ideas to remember:
MATLAB is built for numeric computations on arrays of numbers, not just single values.
Most operations and functions work on both scalars and arrays, which encourages a vectorized way of thinking.
Numeric results are approximate because they are stored in floating point form, so issues of precision, rounding, and special values always matter.
Built-in mathematical functions are your primary tools for working with numbers; use them instead of reinventing standard calculations.