Skip to main content
Engineering LibreTexts

12.1: Creating Matrices and Arrays

  • Page ID
    85005
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    By Carey A. Smith

    For our purposes, an array is 2-dimensional set of numbers.

    A matrix is a 2-dimensional set of numbers that is used for linear algebra computations.

    MATLAB keeps track of the numbers of rows and columns of a matrix.

    User-defined matrices are typically defined in the following 2 equivalent ways:

    Method 1: Create a matrix in directly 2-dimensions

    M1 = [1 4 7 10
          2 5 8 11
          3 6 9 12]

    Method 2: Create a matrix on 1 line, with semicolons separating the rows:

    M2 = [1 4 7 10; 2 5 8 11; 3 6 9 12]

    This creates the same matrices, but is not as visually obvious. This method is often used in books to save space on a page.

    It is also possible to define MATLAB matrices (arrays) with 3 or more dimensions, but we will only use 2-dimensional arrays in this text.

    Built-in functions to create a matrix

    zeros(rows,cols)

    Example:
    z23 = zeros(2,3)

    Result:
    0 0 0
    0 0 0

    ones(rows,cols)
    Example:
    a32 = ones(3,2)
    1 1
    1 1
    1 1

    You can create a matrix of all constant values by multiplying a "ones" matrix by a constant.

    6*ones(rows,cols)
    a32_6 = 6*ones(3,2)
    6 6
    6 6
    6 6

    eye(n) = Identity matrix
    Example:
    I4 = eye(4)
    1 0 0 0
    0 1 0 0
    0 0 1 0
    0 0 0 1

    magic(n) = Magic square. The sums of all the rows, columns, and diagonals are the same in a magic square.

    Example:
    m3 = magic(3)
    8 1 6
    3 5 7
    4 9 2

    diag(v) When v is a vector, creates a square matrix with diagonal elements = v.

    v = [4, 9, 16]
    B = diag(v)
    4 0 0
    0 9 0
    0 0 16

    diag(M) When M is a matrix, this extracts the diagonal elements of matrix M.

    Example using magic square m3:

    diag(m3) = [8
                5
                2]

    pascal4 = pascal(4)
    1  1  1  1
    1  2  3  4
    1  3  6 10
    1  4 10 20

    It has binomial coefficients

    Matrix Transpose

    Previously, we saw that a row vector can be transposed to change it to a column vector, like this:

    a = [1 2 3]

    at1 = a'

    This becomes:

    at1 =
         1
         2
         3

    You can also use the transpose( ) function:

    at2 = transpose(a)

    at2 =
         1
         2
         3

    The same function can be applied to any matrix, as shown by these examples:

    Set

    m3 = magic(3)
     

    m3 = 8 1 6
         3 5 7
         4 9 2

    m3t = m3'

    m3t =
         8     3     4
         1     5     9
         6     7     2

    Set

    m24 = [1 2

           3 4

           5 6
     

           7 8]
     

    m24t = m24'

    m24t =
         1     3     5     7
         2     4     6     8

     


    This page titled 12.1: Creating Matrices and Arrays is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Carey Smith.