如何创建 9×9 矩阵,前 3 行全为零,4 到 6 行都用 5 填充,其余行第一个元素为 1,其余元素为 5,使用 MATLAB?
问问题
176 次
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 回答