## Array Creation Functions

Array of ones and zeros:

ones(3) or ones(3,3) or ones([3,3])
% 3x3 matrix of all ones
ones(2,3) or ones([2,3])
% 2x3 matrix of all ones
zeros(2,3) or zeros([2,3])
% 2x3 matrix of all zeros

Identity matrix:

eye(3) or eye(3,3) or eye([3,3])
% 3x3 identity matrix
eye(2,3) or eye([2,3])
>>
1   0  0
0   1  0
eye(3,2) or eye([3,2])
>>
1   0
0   1
0   0

Random matrix (uniformly distributed):

rand(3)
% 3x3 matrix of 'uniformly distributed'
% random numbers between 0 and 1
>>  0.5668    0.0565    0.6627
0.9350    0.6745    0.1830
0.7065    0.3561    0.8112
plot(rand(1,1000),'r .') hist(rand(1,1000)) Random matrix (normally distributed):

randn(3)
% 3x3 matrix of 'normally distributed' random numbers
>>
-0.1908    0.9169    0.6258
-1.8676    2.3562    0.0520
-0.1919    1.4494   -0.3593
plot(randn(1,1000),'r .') X = randn(1,1000)
hist(X) hist(X,50) Y = 5 + sqrt(10)*X
% Mean: 5, Standard deviation: sqrt(10)
hist(Y,50) Random matrices (other):

randi(5, 3)
% 3x3 matrix of 'uniformly distributed'
% pseudorandom integers between 1 and 5
>>
1   2   3
5   1   4
3   5   2
randi(5, 3, 4)
% 3x4 matrix of 'uniformly distributed'
% pseudorandom integers between 1 and 5
>>
5   2   4   1
3   5   5   5
4   1   4   5
randi([0,5], 3, 4)
% 3x4 matrix of 'uniformly distributed'
% pseudorandom integers between 0 and 5
>>
5   0   1   3
1   3   4   0
4   2   3   1
plot(randi([0,50], 1,1000),'r .') hist(randi([0,50], 1,1000)) Diagonal matrix:

diag([-1,2,3])
% diagonal matrix
>>
-1   0   0
0   2   0
0   0   3

Magic square:

magic(n)
% matrix constructed from the integers 1 through n^2
% with equal row and column sums. (n >= 3)
A = magic(3)
>>
8   1   6
3   5   7
4   9   2

Sum of a matrix (along some direction):

sum(A) or sum(A,1)
% column-wise sum (sum along 1st dimension)
>>  15   15   15
sum(A,2)
% row-wise sum (sum along 2nd dimension)
>>
15
15
15
sum(sum(A.*eye(3)))
% sum along main diagonal (principal diagonal, major diagonal)
>>  15
sum(sum(A.*flipud(eye(3))))
% sum along antidiagonal (secondary diagonal, minor diagonal)
>>  15

vander(v) returns the Vandermonde Matrix such that its columns are powers of the vector v.

toeplitz(c , r) returns a nonsymmetric Toeplitz matrix with c as its first column and r as its first row.

hilb(n) returns the Hilbert matrix of order n.