Compose-2020 Manipulate Matrices in OML
- Create a matrix.
- Slice a matrix.
- Extract a matrix.
- Perform simple operations on matrices.
Creating a Matrix
Matrices are the backbone of OML and can hold floats, characters, and complex numbers.
-
To create a matrix, use brackets [], as shown in the example below:
a = [1,2;3,4]You can also create the same matrix using the following commands:
a = [1 2;3 4] a = [1 2 3 4] -
Click Run. The three assignments return the
following:
-
For a complex matrix, use
iin the matrix element or use a complex function:a = [1 2 ; 3+i 4+i]or
a = complex([1 2;3 4],[0 0;1 1])Both will return this result:
Slicing a Matrix
-
If you want to slice a whole row or column from that matrix, use
:in the first column:a = [1,2;3,4] a(:,1)This extracts the first column of the matrixa:
-
To slice several rows or columns from that matrix, use an array to specify the
rows or columns:
a = [1 2 3;4 5 6;7 8 9]; % the first and third rows of a a([1, 3],:)This extracts the first and third rows of the matrix
a:
-
When slicing a matrix,
endstands for the last index of a row or column.a = [1 2 3;4 5 6;7 8 9]; a(end,:)This returns the last row of matrix
a:
a = [1 2 3;4 5 6;7 8 9]; a(:,end-1)This script returns thesecond last column of a:
Extracting a Matrix
-
If you want to extract a specific element in a matrix, you can use
a(x,y)withabeing the name of the matrix andxandybeing the row and column being referenced, respectively. For example:a = [1,2;3,4] b = a(1,1)Results in:
-
If you want to extract specific elements in a matrix, use two arrays to specify
the rows and columns being referenced, respectively. For example:
a = [1 2 3;4 5 6;7 8 9]; a([1 3],[2 1])[1 3] stands for the first and third rows, [2 1] stands for the second and first column:
-
A shortcut to extract the last elements in an array is to use
end. See the example below:
a = [1 2 3;4 5 6;7 8 9] b = a([2,3],[2:end])This results in:
-
Assignment operations can be joined. Below is an example to extract an element
from a sliced matrix:
a = [1 2 3;4 5 6;7 8 9] % return to the third row of a a(3,:) % return to the second element of the third row a(3,:)(2)
Performing Operations on Matrices
-
Most simple matrix operations can be done in the same way you perform
operations on integers. To multiply two matrices of the same size, write the
following:
a = [1,2;3,4] b = [2,3;4,5] a*bThe result is:
You could use
a.*bto perform entry-wise multiplication:
Please refer to the Arithmetic Operation help document for more information on the other operations.
-
To use the matrix in a built-in function, such as transpose,
simply write:
transpose([1,5,2;6,2,3])or, you could use
.'for transpose, both return the same result:
For more matrix operations, please refer to the script simple_matrix.oml, located in the Tutorials folder in the installation directory.