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

116 Ansichten (letzte 30 Tage)
StillANovice
StillANovice am 21 Aug. 2020
Beantwortet: Fangjun Jiang am 21 Aug. 2020
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

Akzeptierte Antwort

Arthur Roué
Arthur Roué am 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

Weitere Antworten (2)

Star Strider
Star Strider am 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 am 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

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by