MATLAB矩阵生成:不使用循环创建10x10矩阵B,其中每一行1的个数由矩阵A决定
可以使用矩阵的重复复制和逻辑索引来实现。具体步骤如下:
- 创建一个大小为10x10的零矩阵B。
- 使用矩阵A的每一行的值,重复复制成一个大小为1x10的行向量,并在矩阵B的对应行的前几列置为1。
- 利用逻辑索引将矩阵B中除了对应行的前几列之外的位置都置为0。
代码如下:
A = [1 2 3 4 5 6 7 8 9 10]'; B = zeros(10, 10); B(repmat(A, 1, 10) >= repmat(1:10, 10, 1)) = 1; B(repmat(A, 1, 10) < repmat(1:10, 10, 1)) = 0;
这样,生成的矩阵B就满足题目要求了。
原文地址: https://www.cveoy.top/t/topic/plAI 著作权归作者所有。请勿转载和采集!