Matlab中的指示矩阵
在 matlab 中,我有一个名为 Label 的双数据类型变量,尺寸为 1211 x 1。
我想创建一个 IndicatorMatrix(6 列),这样如果 Label 变量中的一行是 34 ,那么 Label 变量中的相应行是 34 strong>IndicatorMatrix 应为0 0 1 1 0 0。
我的意思是指标矩阵的 1 @ 3 和第四列。
In matlab, I have a double datatype variable named Label with dimension 1211 x 1.
I would like to create a IndicatorMatrix(6 columns) such that if a row in the Label variable is 34 then the corresponding row in the IndicatorMatrix should be 0 0 1 1 0 0.
I mean 1 @ 3 and 4th column of Indicator matrix.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
令
x
为 1211x1 矩阵(Label),令im
(IndicatorMatrix) 为您要创建的矩阵。这样做:这将创建一个矩阵,该矩阵是一个具有 2 列和高度 h 的零矩阵的水平串联,然后是 x == 34 的布尔矩阵(其中 x 为 34 时为 1,其他位置为 0)水平重复 2 次一次是垂直的,然后是另一个零矩阵。
请注意,在您的情况下,我们可以将 h 替换为 1211,但我尝试编写更通用的代码。
Let
x
be the 1211x1 matrix (Label), and letim
(IndicatorMatrix) be the matrix you wish to create. Do:This creates a matrix which is a horizontal concatentation of a zero matrix with 2 columns and height h, then a boolean matrix of x == 34 (which has 1 where x was 34, and zero in other places) repeated 2 times horizontally and once vertically, and then again another zero matrix.
Note that in your case we could have replaces h by 1211, but I tried to write more generic code.