1

私は3 * 3の行列を持っていますA

A = [1 2 3               
     4 5 6 
     7 8 9];

この行列の最初の行と列だけを複製したい。次のように見えるはずです

  1 1 2 3

  1 1 2 3

  4 4 5 6

  7 7 8 9

誰かがmatlabでこれを行う方法を教えてもらえますか

4

4 に答える 4

10

これは、インデックスを使用するだけの良い方法だと思います

A([1, 1:end], [1, 1:end])
于 2013-10-16T12:54:51.500 に答える
2

元の行列のさまざまな部分を連結することで、これを行うことができます。

B=[A(1) A(1,:);A(:,1) A];

この式では、A(1) は A の左上の要素、A(1,:) は最初の行、A(:,1) は最初の列です。

コロン演算子のドキュメントを参照してください。

于 2013-10-16T12:52:49.990 に答える
1

以下のコードでは、A が出発点であり、E が達成したいものだと思います。

もちろん、すべての中間式を組み合わせて、1 つのステップで最終結果を得ることができます。

A= [1 2 3; 4 5 6; 7 8 9]
B= A(1:3,1:1)
C= [B A]
D= C(1:1,1:4)
E= [D;C]
于 2013-10-16T12:52:27.800 に答える
1

ゲームでは少し遅れていますが、答える価値があります。そのために使用できますpadarray

B = padarray(A,[1 1],'replicate','pre')

最初の列と列を1つ以上追加したい場合は、ワンライナーでより一般的です...

于 2013-10-16T17:55:28.020 に答える