The Wayback Machine - https://web.archive.org/web/20111122182606/http://www.mathworks.com:80/help/techdoc/learn_matlab/f2-644.html
Skip to Main Content Skip to Search
Product Documentation

Working with Matrices

Generating Matrices

MATLAB software provides four functions that generate basic matrices.

zeros

All zeros

ones

All ones

rand

Uniformly distributed random elements

randn

Normally distributed random elements

Here are some examples:

Z = zeros(2,4)
Z =
     0     0     0     0
     0     0     0     0

F = 5*ones(3,3)
F =
     5     5     5
     5     5     5
     5     5     5

N = fix(10*rand(1,10))
N =
     9     2     6     4     8     7     4     0     8     4

R = randn(4,4)
R =
    0.6353    0.0860   -0.3210   -1.2316
   -0.6014   -2.0046    1.2366    1.0556
    0.5512   -0.4931   -0.6313   -0.1132
   -1.0998    0.4620   -2.3252    0.3792

The load Function

The load function reads binary files containing matrices generated by earlier MATLAB sessions, or reads text files containing numeric data. The text file should be organized as a rectangular table of numbers, separated by blanks, with one row per line, and an equal number of elements in each row. For example, outside of MATLAB, create a text file containing these four lines:

    16.0     3.0     2.0    13.0
     5.0    10.0    11.0     8.0
     9.0     6.0     7.0    12.0
     4.0    15.0    14.0     1.0

Save the file as magik.dat in the current directory. The statement

load magik.dat

reads the file and creates a variable, magik, containing the example matrix.

An easy way to read data into MATLAB from many text or binary formats is to use the Import Wizard.

Saving Code to a File

You can create matrices using text files containing MATLAB code. Use the MATLAB Editor or another text editor to create a file containing the same statements you would type at the MATLAB command line. Save the file under a name that ends in .m.

For example, create a file in the current directory named magik.m containing these five lines:

    A = [16.0     3.0     2.0    13.0
          5.0    10.0    11.0     8.0
          9.0     6.0     7.0    12.0
          4.0    15.0    14.0     1.0 ];

The statement

magik

reads the file and creates a variable, A, containing the example matrix.

Concatenation

Concatenation is the process of joining small matrices to make bigger ones. In fact, you made your first matrix by concatenating its individual elements. The pair of square brackets, [], is the concatenation operator. For an example, start with the 4-by-4 magic square, A, and form

B = [A  A+32; A+48  A+16]

The result is an 8-by-8 matrix, obtained by joining the four submatrices:

B =

    16     3     2    13    48    35    34    45
     5    10    11     8    37    42    43    40
     9     6     7    12    41    38    39    44
     4    15    14     1    36    47    46    33
    64    51    50    61    32    19    18    29
    53    58    59    56    21    26    27    24
    57    54    55    60    25    22    23    28
    52    63    62    49    20    31    30    17

This matrix is halfway to being another magic square. Its elements are a rearrangement of the integers 1:64. Its column sums are the correct value for an 8-by-8 magic square:

sum(B)

ans =
   260   260   260   260   260   260   260   260

But its row sums, sum(B')', are not all the same. Further manipulation is necessary to make this a valid 8-by-8 magic square.

Deleting Rows and Columns

You can delete rows and columns from a matrix using just a pair of square brackets. Start with

X = A;

Then, to delete the second column of X, use

X(:,2) = []

This changes X to

X =
    16     2    13
     5    11     8 
     9     7    12
     4    14     1

If you delete a single element from a matrix, the result is not a matrix anymore. So, expressions like

X(1,2) = []

result in an error. However, using a single subscript deletes a single element, or sequence of elements, and reshapes the remaining elements into a row vector. So

X(2:2:10) = []

results in

X =
    16     9     2     7    13    12     1
  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A; sessions led by MATLAB experts.

 © 1984-2011- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS