可以使用矩阵的乘法运算和元素级逻辑运算来实现。首先,生成一个大小为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,以此类推。

MATLAB矩阵生成:不使用循环生成矩阵B

原文地址: https://www.cveoy.top/t/topic/plA8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录