2016-04-30 19 views

答えて

2

これは、次のようreshape機能を使用して達成することができます。

B = reshape(A, [3 3]).' 
+2

@Sam ''は[転置ではないので]あなたは実際には' 'reshape(A、[3 3])' 'を使います(http://www.mathworks.com/help /matlab/ref/transpose.html#buuhgyz)。 – Suever

+0

@Suever私は 'reshape(A、[3,3]) 'を試みて、その目的を果たしました。私は同じ形の結果を与える 'reshape(A、[3 3]) 'もチェックしました。私はMATLAB2015aを使用しています –

+2

@Sam実際の数値については同じ結果を返しますが、ドットを使う習慣に入るのは良いことです。なぜなら、複素数を持つなら '' 'は実際に複素共役(実際の数字の転置のように見えます)。 – Suever

0

別のオプションがあります:

あなたが nを定義せず、 A(3,3) = 0を書くことができますので、あなたはすでに、 n、結果行列、定義されたの大きさを持っている場合は速くなります
a = (1:9).'; 
n = size(a,1)^0.5; 
A(n,n) = 0; 
A(:) = a(:); 

関連する問題