A is a matrix , what does this statement A([1,end],[1,end]) mean ?

The result of this command gives the 4 corners of the matrix, but can't figure out how that command works

 Accepted Answer

That's equivalent to:
[A(1,1), A(1,end);...
A(1,end), A(end,end)]

6 Comments

Just a note to add:
It took me a long while to realise you could not only just use addition and subtraction with end as one of the operands, but you can actually use any function:
A(randi(end),randi(end)) %select 1 point at random
Hey did you mean its equivalent to:
[A(1,1), A(1,end);...
A(end,1), A(end,end)]
or
[A(1,1), A(1,end);...
A(1,end), A(end,end)] because the second option doesn't giving the 4 corners of the matrix
@Ceethal Kottakali Piyus, you are correct.
A = magic(5) % an example matrix
A = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
A([1,end],[1,end])
ans = 2×2
17 15 11 9
[A(1,1), A(1,end); A(end,1), A(end,end)]
ans = 2×2
17 15 11 9
@RAVIKIRAN YALAMARTHI's answer may also serve as demonstration.

Sign in to comment.

More Answers (1)

Simple example:
A = [1 2 3;4 5 6;7 8 9]
A([1,end],[1,end])
ans = 2 by 2
1 3
7 9
To call the elements in a matrix, we have to mention the row and column index values.
So, A(1,2) = 2. Since, 1st row and 2nd column element is 2.
similarly, A([1,end],[1,end]) will call the elements of,
1st row & 1st column: A(1,1)
last row & 1st column: A(end,1)
1st row & last column: A(1,end)
last row & last column: A(end,end)

3 Comments

what does it mean (1:end, 1)?
That set of subscripts will address the first column of a matrix.
A = magic(5) % an example matrix
A = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
A(1:end,1) % this is the same
ans = 5×1
17 23 4 10 11
A(:,1) % as this
ans = 5×1
17 23 4 10 11

Sign in to comment.

Categories

Asked:

on 30 Jun 2020

Commented:

DGM
on 25 Aug 2022

Community Treasure Hunt

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

Start Hunting!