Understanding eye / identity matrix in matlab

11 次查看(过去 30 天)
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 个评论
umair Majeed
umair Majeed 2021-11-22
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)

请先登录,再进行评论。

采纳的回答

Pawel Ladosz
Pawel Ladosz 2016-9-5
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.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by