繁体   English   中英

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

[英]How to a convert a vector of labels into a binary vector in Octave?

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

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

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,:)选择myMatrix的第10行, 10次 所以你回到第10排eye(10) 10次​​。

如果你做A=ones(5,1)*10并且看一下eye(10)(A,:) ,那可能不那么令人困惑; 注意你现在只得到A的第10行5次。

你不能在Matlab中这样做,因为它不会让你做一见eye(10)(A,:) 你必须分两步完成:

A = ones(10,1)*10
I = eye(10)
I(A,:)

更多关于Matlab中各种类型的矩阵索引

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM