我只需要使用一个命令来创建以下矩阵,而无需明确输入:
M = [0 0 0 0 0 0;...
0 0 0 0 0 0;...
0 0 0 0 0 0;...
0 0 0 1 2 3;...
0 0 0 4 5 6;....
0 0 0 7 8 9]
我是新手,所以我不能使用任何复杂的命令。
我尝试linspace
结合使用,zeros
但效果不佳。
请帮忙!!
我只需要使用一个命令来创建以下矩阵,而无需明确输入:
M = [0 0 0 0 0 0;...
0 0 0 0 0 0;...
0 0 0 0 0 0;...
0 0 0 1 2 3;...
0 0 0 4 5 6;....
0 0 0 7 8 9]
我是新手,所以我不能使用任何复杂的命令。
我尝试linspace
结合使用,zeros
但效果不佳。
请帮忙!!
M
如果尚未定义矩阵,您可以跳过zeros(6)
(由AlexL提出)并直接转到
M( 4:6, 4:6 ) = reshape( 1:9, [3 3] ).'; %'
是不是使用了太复杂的命令?
ans=padarray(reshape(1:9,3,3)',[3 3],'pre')
另一个简单而紧凑的 oneliner,结合了已经为 MATLAB 和 Octave 提到的一些东西:
M(4:6,4:6) = [1:3;4:6;7:9]
不了解 Matlab,但在 Octave 中,您可以执行以下操作:
M = [zeros(3, 6); zeros(3), [1:3; 4:6; 7:9]]
纠正亚历克斯的回答:
M = zeros(6)
M(4:6,4:6) = [1,2,3;4,5,6;7,8,9]