我有一个垂直的Nx1矩阵满了整数。MATLAB根据矢量生成具有逻辑值的矩阵
A:
+---+
| 4 |
| 3 |
| 1 |
| . |
+---+
我的目标是创建一个N×M个矩阵B,其中每个单元的值是1,如果是行是小于或等于A中的相应的编号,其余为0。
B:
+-------------+
| 1 1 1 1 0 . |
| 1 1 1 0 0 . |
| 1 0 0 0 0 . |
| . . . . . . |
+-------------+
这可以通过逐行迭代来实现,但我试图找到更快的方法。我觉得这可以通过逻辑索引来完成,但不能想到如何完全摆脱我的头脑。
这似乎不适用于我。大小(A,1)将给出N,A矢量的高度。 1:大小(A,1)将给出水平向量1,2,... N。当我执行A> = 1:size(A,1)时,表示Matrix维度的MATLAB错误必须一致。我明白你想通过比较一个垂直矢量和一个水平矢量来得到矩阵,但是这个语法看起来不起作用。 –
没关系,只是看到你的编辑。 –