Go to the MLX, M, PDF, or HTML version of this file. Go back to fan’s MEconTools Package, Matlab Code Examples Repository (bookdown site), or Math for Econ with Matlab Repository (bookdown site).
% A column vector 4 by 1, with three numbers you fill in by yourself
colVec = [5;2;3;10]
colVec = 4x1
5
2
3
10
% Another column vector with 4 random numbers
colVecRand = rand(4,1)
colVecRand = 4x1
0.4899
0.1679
0.9787
0.7127
% A row vector 1 by 4
rowVec = [3,2,4,5]
rowVec = 1x4
3 2 4 5
% A row vector 1 by 4 with random number
rowVecRand = rand(1,4)
rowVecRand = 1x4
0.5005 0.4711 0.0596 0.6820
% A 2 by 3 matrix by hand
matA = [1,2,1;
3,4,10]
matA = 2x3
1 2 1
3 4 10
% Another 2 by 3 matrix, now with random numbers
matRand = rand(2,3)
matRand = 2x3
0.0424 0.5216 0.8181
0.0714 0.0967 0.8175
% Another 2 by 3 matrix, now with random integers between 1 and 10
% rand draws between 0 and 1, ceil converts 0.1 to 1, 1.1 to 2, etc
matRand = ceil(rand(2,3)*10)
matRand = 2x3
8 7 10
2 6 7
% A 4 by 4 square matrix
matSquare = rand(4)
matSquare = 4x4
0.8003 0.0835 0.8314 0.5269
0.4538 0.1332 0.8034 0.4168
0.4324 0.1734 0.0605 0.6569
0.8253 0.3909 0.3993 0.6280
% or can define 4 by 4
matSquare = rand(4, 4)
matSquare = 4x4
0.2920 0.1672 0.4897 0.0527
0.4317 0.1062 0.3395 0.7379
0.0155 0.3724 0.9516 0.2691
0.9841 0.1981 0.9203 0.4228
% or can define 4 by 4, between 1 and 5 each number
matSquare = ceil(rand(4, 4)*5)
matSquare = 4x4
3 2 4 5
5 4 4 1
3 4 1 1
5 3 1 3
If a matrix \(A\) is square matrix with the same number of rows and columns, and all diagonal elements are \(1\) and non-diagonal elements are \(0\), then \(A\) is an identity matrix:
\(A_{i,j}\) are the value in the ith row and jth column of the matrix \(A\)
\(A\) is an identity matrix, when: \(A_{i,j} =0\;\textrm{if}\;i\not= j\), \(A_{i,j} =1\;\textrm{if}\;i=j\)
% 4 by 4 identity matrix
identity4by4 = eye(4)
identity4by4 = 4x4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
When a matrix is muplieid by the identity matrix, you get the same matrix back, for example, multiplying random integer 4 by 4 matrix by the 4 by 4 identity matrix:
matSquare
matSquare = 4x4
3 2 4 5
5 4 4 1
3 4 1 1
5 3 1 3
matSquareTimesIdentity = matSquare*identity4by4
matSquareTimesIdentity = 4x4
3 2 4 5
5 4 4 1
3 4 1 1
5 3 1 3
When a row vector is muplieid by the identity matrix, you get the same vector back, for example, multiplying random integer 1 by 4 row vector by the 4 by 4 identity matrix:
rowVec
rowVec = 1x4
3 2 4 5
rowVecTimesIdentity = rowVec*identity4by4
rowVecTimesIdentity = 1x4
3 2 4 5
When an identity matrix is multiplied by a column vector, you get the same vector back, for example, multiplying 4 by 4 identity matrix by random integer 4 by 1 column vector by the :
colVec
colVec = 4x1
5
2
3
10
colVecTimesIdentity = identity4by4*colVec
colVecTimesIdentity = 4x1
5
2
3
10
A lower triangular matrix is a square matrix where:
Square matrix\(A\) is a lower triangular matrix, when: \(A_{i,j} =0\;\textrm{if}\;i<j\)
Square matrix\(A\) is a upper triangular matrix, when: \(A_{i,j} =0\;\textrm{if}\;i>j\)
% lower triangular matrix of matA
lowerTriangular = tril(matSquare)
lowerTriangular = 4x4
3 0 0 0
5 4 0 0
3 4 1 0
5 3 1 3
% upper triangular matrix of matA
upperTriangular = triu(matSquare)
upperTriangular = 4x4
3 2 4 5
0 4 4 1
0 0 1 1
0 0 0 3
% 3 by 3 by 2, storing multiple matrixes together in tenA
tenA = zeros(3,3,2);
tenA(:,:,1) = rand(3,3);
tenA(:,:,2) = rand(3,3);
disp(tenA);
(:,:,1) =
0.8819 0.3689 0.1564
0.6692 0.4607 0.8555
0.1904 0.9816 0.6448
(:,:,2) =
0.3763 0.4820 0.2262
0.1909 0.1206 0.3846
0.4283 0.5895 0.5830
% Creating four 2 by 3 matrixes
matRand = rand(2,3,4)
matRand =
matRand(:,:,1) =
0.2518 0.6171 0.8244
0.2904 0.2653 0.9827
matRand(:,:,2) =
0.7302 0.5841 0.9063
0.3439 0.1078 0.8797
matRand(:,:,3) =
0.8178 0.5944 0.4253
0.2607 0.0225 0.3127
matRand(:,:,4) =
0.1615 0.4229 0.5985
0.1788 0.0942 0.4709
disp(matRand);
(:,:,1) =
0.2518 0.6171 0.8244
0.2904 0.2653 0.9827
(:,:,2) =
0.7302 0.5841 0.9063
0.3439 0.1078 0.8797
(:,:,3) =
0.8178 0.5944 0.4253
0.2607 0.0225 0.3127
(:,:,4) =
0.1615 0.4229 0.5985
0.1788 0.0942 0.4709