Understanding eye / identity matrix in matlab

5 views (last 30 days)
Hello,
I am working with a machine learning alogrithm and these two lines of code have helped me but I still do not understand what they do exactly, specially the last one
eye_matrix = eye(10);
y_matrix = eye_matrix(y, :);
so 'y' is a vector consisting of numbers of 1 to 10 i.e: y = [1;2;3;4;5;6;7;8;9;10]
The result y matrix is a matrix with 10 rows and 10 columns, every row has zeros everywhere, but one in an index of the corresponding row value in y.
can someone how did we achieve this, and how the second line of code works.
  1 Comment
umair Majeed
umair Majeed on 22 Nov 2021
how can I extract a row of eye matrix without saving it in any variable.
means instaed of using
a= eye (5);
then a( : , 1)
I want to extract rows with out assigning it to another varial somewhat like this eye(5)( : , 1)

Sign in to comment.

Accepted Answer

Pawel Ladosz
Pawel Ladosz on 5 Sep 2016
Hi, eye matrix creates a identity matrix (so all values zeros apart from diagonal terms). Then the second line tells matlab to take that identity matrix and extract rows with indexes contained in y. As y contains all rows (1 to 10) you end up with same identity matrix.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!