如何在Octave中将标签矢量转换为二进制矢量?

时间:2012-02-07 13:35:15

标签: matlab octave

假设我有A = 1(10,1)* 10 那会是什么眼睛(10)(A,:) ??

我知道eye给出了10,10个单位矩阵,但我不确定上面的代码是做什么的。 什么是Matlab中的等效代码?

1 个答案:

答案 0 :(得分:5)

A=ones(10,1)*10只需制作10s的列矩阵(10行,1列)。

eye(10)生成10x10单位矩阵。

(A,:)索引到您刚刚制作的单位矩阵中。 A此处充当eye(10)矩阵的数字索引。假设A只是10.然后myMatrix(A,:)将选择myMatrix的第10行。由于A为10 为10,myMatrix(A,:)会选择第{10}行,{em> 10次。所以你退出第10行myMatrix 10次。

如果您执行eye(10)并查看A=ones(5,1)*10,则可能不那么令人困惑;请注意,您现在只获得eye(10)(A,:)的第10行。

你不能在Matlab中这样做,因为它不允许你做一击A。你必须分两步完成:

eye(10)(A,:)

More on various types of matrix indexing in Matlab