2016-05-14 9 views
0

私はマトリックスを持っており、このマトリックスに数字のグループを順番に入力したいと思います。次に例を示します。 と仮定します。私が何をしようとしています何Matlabを使用してマトリックス内の特定の位置に数字のグループを順番に入力

x = [1 2 3 4 5 6 7] % Group of numbers 
A =      % The matrix 
1.1 2.2 3.1 4.1 5.3 1.2 1.3 
3.1 4.2 1.1 7.4 5.6 2.2 1.3 
1.4 5.2 4.3 2.2 4.3 3.2 1.3 
1.6 3.2 6.3 2.1 2.6 7.2 1.3 
6.1 1.3 9.4 4.2 3.3 1.2 1.3 
2.5 4.2 3.2 5.1 6.7 1.2 1.3 

は、以下の方法であることをXに保存されている数字のグループを入力するためにループを使用する方法を見つけることです:

A =      % The matrix 
1.1 2.2 3.1 4.1 5.3 1.2 1.3 1.1 2.2 3.1 4.1 5.3 1.2 1.3 1.1 2.2 3.1 4.1 5.3 1.2 1.3 
1.0 2.0 3.0 4.0 5.0 6.0 7.0 3.1 4.2 1.1 7.4 5.6 2.2 1.3 3.1 4.2 1.1 7.4 5.6 2.2 1.3 
1.4 5.2 4.3 2.2 4.3 3.2 1.3 1.0 2.0 3.0 4.0 5.0 6.0 7.0 1.4 5.2 4.3 2.2 4.3 3.2 1.3 
1.6 3.2 6.3 2.1 2.6 7.2 1.3 1.6 3.2 6.3 2.1 2.6 7.2 1.3 1.0 2.0 3.0 4.0 5.0 6.0 7.0 
6.1 1.3 9.4 4.2 3.3 1.2 1.3 6.1 1.3 9.4 4.2 3.3 1.2 1.3 6.1 1.3 9.4 4.2 3.3 1.2 1.3 
2.5 4.2 3.2 5.1 6.7 1.2 1.3 2.5 4.2 3.2 5.1 6.7 1.2 1.3 2.5 4.2 3.2 5.1 6.7 1.2 1.3 

数字のグループ(1.0から7.0まで)が行列の終わりまで下(行単位)に移動することがわかります。移動ごとに、行列の次元も増加します。最初に行列の次元を定義する必要があると私は信じています。 これを行うには、行列の列に行の数を掛けることがわかりました この場合、7(行)x 49(列)の新しい行列の次元が得られます。

私はこのような行列をforループまたは他の方法で自動的に作成する方法を知る必要があります。

ありがとうございます。

答えて

0
  1. マトリックスの3つのコピーを水平に連結するためにrepmatを使用してください。

  2. xを目的の行と列にコピーするために、Matlabの代入構文A(行、col:col +長さ(x)-1)を使用します。

コード例:

outA = repmat(A,1,3); %replicate A 
outA(2,1:length(x)) = x; %inserts x into the beginning of the 2nd row 
outA(4,size(outA,2)-length(x)+1:end) = x; %inserts x into the end of the 4th row 

結果:

outA = 
1.1 2.2 3.1 4.1 5.3 1.2 1.3 1.1 2.2 3.1 4.1 5.3 1.2 1.3 1.1 2.2 3.1 4.1 5.3 1.2 1.3 
1.0 2.0 3.0 4.0 5.0 6.0 7.0 3.1 4.2 1.1 7.4 5.6 2.2 1.3 3.1 4.2 1.1 7.4 5.6 2.2 1.3 
1.4 5.2 4.3 2.2 4.3 3.2 1.3 1.4 5.2 4.3 2.2 4.3 3.2 1.3 1.4 5.2 4.3 2.2 4.3 3.2 1.3 
1.6 3.2 6.3 2.1 2.6 7.2 1.3 1.6 3.2 6.3 2.1 2.6 7.2 1.3 1.0 2.0 3.0 4.0 5.0 6.0 7.0 
6.1 1.3 9.4 4.2 3.3 1.2 1.3 6.1 1.3 9.4 4.2 3.3 1.2 1.3 6.1 1.3 9.4 4.2 3.3 1.2 1.3 
2.5 4.2 3.2 5.1 6.7 1.2 1.3 2.5 4.2 3.2 5.1 6.7 1.2 1.3 2.5 4.2 3.2 5.1 6.7 1.2 1.3 
+0

どうもありがとうございました。それは私にそれをするのは非常にいいスタートを与える。 よろしくお願い致します。 –

+0

お手伝いします!あなたの質問を100%解決した場合は、左からV記号を記入して答えを受け入れてください。それ以上の質問があれば、お気軽に – drorco

+0

あなたは素晴らしいです。回答が受け入れられました。 –

関連する問題