如何使用Matlab创建具有不同元素的矩阵

时间:2013-05-22 06:29:42

标签: matlab

如何创建9×9矩阵,前3行全零,4到6行全部填充5,剩下的行第一个元素是1,其余元素是5,使用MATLAB?

3 个答案:

答案 0 :(得分:6)

如果你有足够的兴趣,这里的答案会教你如何使用MATLAB:

A = bsxfun(@times, ones(9), kron([0 5 5], [1 1 1])') - ...
    [kron([0 0 4], [1 1 1])' zeros(9,8)]

结果:

A =
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     5     5     5     5     5     5     5     5     5
     5     5     5     5     5     5     5     5     5
     5     5     5     5     5     5     5     5     5
     1     5     5     5     5     5     5     5     5
     1     5     5     5     5     5     5     5     5
     1     5     5     5     5     5     5     5     5

答案 1 :(得分:2)

subZero = zeros(3, 9);
subFive = 5*ones(3, 9);
subsubOnes = ones(3, 1);
subsubFive = 5*ones(3, 8);

subOneFive = [subsubOnes subsubFive];

yourMatrix = [subZero; subFive; subOneFive];

答案 2 :(得分:2)

您是否尝试在初始化时使用值创建矩阵,如下所示:

myMatrix = [...
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    0 0 0 0 0 0 0 0 0
    5 5 5 5 5 5 5 5 5
    5 5 5 5 5 5 5 5 5
    5 5 5 5 5 5 5 5 5
    1 5 5 5 5 5 5 5 5
    1 5 5 5 5 5 5 5 5
    1 5 5 5 5 5 5 5 5];

我知道有更简单的方法可以初始化。