-11

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

4

3 回答 3

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
于 2013-05-22T07:32:13.597 回答
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];

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

于 2013-05-22T06:49:08.607 回答
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];
于 2013-05-22T06:34:53.700 回答