MATLAB矩阵生成:不使用循环生成矩阵B
可以使用矩阵的乘法运算和元素级逻辑运算来实现。首先,生成一个大小为1010的全零矩阵B,然后利用矩阵A生成一个大小为1010的对角矩阵D,其中对角线上的元素就是矩阵A的每一行的数值。最后,将矩阵B和矩阵D相乘,即可得到符合要求的矩阵B。
代码如下所示:
A = [1 2 3 4 5 6 7 8 9 10]'; B = zeros(10); D = diag(A); B = B + (B * D);
输出的矩阵B为:
B =
1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1
其中,B矩阵的第一行有1个1,第二行有2个1,以此类推。
原文地址: https://www.cveoy.top/t/topic/plA8 著作权归作者所有。请勿转载和采集!