3

明示的に入力せずに、1 つのコマンドのみを使用して次のマトリックスを作成する必要があります。

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たが、うまく機能しませんでした。

助けてください!!

4

6 に答える 6

10

マトリックスMがまだ定義されていない場合は、zeros(6)AlexLによって提案された)をスキップして、次の場所に直接進むことができます。

M( 4:6, 4:6 ) = reshape( 1:9, [3 3] ).'; %'
于 2013-01-16T06:20:45.287 に答える
6

あまりにも複雑なコマンドを使用していませんか?

ans=padarray(reshape(1:9,3,3)',[3 3],'pre')
于 2013-01-16T04:07:02.730 に答える
3

MATLABとOctaveについてすでに述べたもののいくつかを組み合わせた、もう1つの簡単でコンパクトなワンライナー:

M(4:6,4:6) = [1:3;4:6;7:9]
于 2013-01-16T08:51:06.030 に答える
3

Matlab については知りませんが、Octave では次のことができます。

M = [zeros(3, 6); zeros(3), [1:3; 4:6; 7:9]]
于 2013-01-16T02:05:49.930 に答える
2

おそらく、ゼロでいっぱいの 6x6 行列を作成してみてください:

M = zeros(6)

次に、その一部を1:9に設定するだけですか?

M(4:6,4:6) = reshape(1:9, 3, 3)' 

(' 記号は転置を意味します)

于 2013-01-16T01:52:33.467 に答える
0

アレックスの答えを修正する:

M = zeros(6)

M(4:6,4:6) = [1,2,3;4,5,6;7,8,9]
于 2013-01-16T02:00:17.837 に答える