What does M([1:1 2:3], [1:0 2:3]) mean?

62 views (last 30 days)
Hi,
Using a square matrix as an example:
>> M = [1 2 3; 4 5 6; 7 8 9]
M =
1 2 3
4 5 6
7 8 9
I don't understand what does M([1:1 2:3], [1:0 2:3]) do to give the following answer?
>> select = M([1:1 2:3], [1:0 2:3])
select =
2 3
5 6
8 9

Accepted Answer

Arthur Roué
Arthur Roué on 21 Aug 2020
This
select = M([1:1 2:3], [1:0 2:3])
is awfully written, it means
select = M(1:3, [2 3])
select is the lines 1 to 3 of M and colum 2 and 3

More Answers (2)

Star Strider
Star Strider on 21 Aug 2020
It is easier to understand if the values are calculated:
row_ref = [1:1 2:3]
col_ref = [1:0 2:3]
produce:
row_ref =
1 2 3
col_ref =
2 3
Note that (1:0) produces:
1×0 empty double row vector
so it is actually redundant here.
.

Fangjun Jiang
Fangjun Jiang on 21 Aug 2020
First, run this line by line in Command Window to figure out what it does
1:5
1:0.5:3
5:-1:1
Then understand that [1:1 2:3] is the same as [1 2 3], [1:0 2:3] is the same as [2 3]
Thus the outcome is the [1 2 3] row and [2 3] column of matrix M

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!