2016-04-25 10 views
0

簡単な例を作るために、同じ元のベクトルからなる一連のベクトルを取得しようとしています。V= (1,2,3,4,5,6,7,8,9,10)(もちろん私の方が大きい)matlabを使って行内に複数の行列を作成するには

最初のベクトルは次のように見ています

R1=(1,3,5,7,9)= V(1:1:end) 
The second vector: 
R2=(2,4,6,8,10)=V(2:1:end) 
The third vector: 
R3=(3,5,7,9)=V(3:1:end) 
The fourth vector: 
R4=(4,6,8,10)=V(4:1:end) 
... 
R8=(8,10)=V(8:1:end) 

をだから私の質問は以下のとおりです。

  1. この結果を得るための簡単な方法はありますか?
  2. distance = 1のRiベクトルの総数は、Vからどのように取得できますか?
+0

どのように2つのベクトル間の距離を定義していますか?さらに、あなたのRiベクトルがあなたのRHSの – BillBokeey

答えて

0

すべてのセルにベクトルを保持できるMatlabのセルオブジェクトを使用します。 forループを使用して、このセルオブジェクトを徐々に塗りつぶします。

コード例:

%initialize V 
V= [1,2,3,4,5,6,7,8,9,10]; 
%initialize an empty cell of size [10,1] 
R= cell(length(V)-2,1); 

%fill the cell 
for ii=1:length(R) 
    R{ii} = V(ii:2:end); 
end 

%prints results 
for ii=1:length(R) 
    R{ii} 
end 

結果(各行は異なるベクトルである):

1  3  5  7  9 
2  4  6  8 10 
3  5  7  9 
4  6  8 10 
5  7  9 
6  8 10 
7  9 
8 10 
+0

と等しくないことに注意してください。drorcoをありがとう、私はしましたが、セル配列はあたかも行列の要素の1つであるように見えます。すべての数字がこのR行列の1つの場所を持つようにするにはどうすればよいですか? – angelavtc

+1

'R'は、行数値ベクトルを含む円柱セルベクトルです。だからこそ、要素が欠けている「一種の行列」を持つことができます。各番号は 'R {ii}(jj)'によってアクセスされます。 R1、R2、R3 ... R8の代わりに – Crowley

+0

を入力すると、ベクトルの名前はR {1}、R {2}、R {3}、... R {8}になります。例えば、ベクトル1のj要素にアクセスするには、次のように書く:R {1}(j) – drorco

関連する問題