2

連結内の特定のマトリックスにアクセスする方法はありますか?
例えば:

a = [1,2,3,4:5,6,7,8:9,0,1,2];
b = [3,2,1:4,2,1:5,6,7];
c = [a b];

bからマトリックスにアクセスしたいc

c(2);でアクセスできないことは明らかです。代わりにcの2番目の要素を指しているためです。

aマトリックスとマトリックスの情報をbヘッダーに保存できると聞きました。

そして、後でそれを取得できるようになります。しかし、それはどのように機能しますか?

4

1 に答える 1

0

ab配列のサイズを別の長さベクトルに保存できますla。これは、後でからサブ行列にアクセスするためのインデックス範囲として使用できますc。これは、ヘッダーが個別の変数として格納されることを除いて、ヘッダーを使用したアイデアと似ていますla

% first matrix starts at index 1
la = 1;
a = [1,2,3,4:5,6,7,8:9,0,1,2]; 
% append number of elements in a
la = [la numel(a)];

b = [3,2,1:4,2,1:5,6,7];       
% append number of elements in b
la = [la numel(b)];

c = [a b];
% use cumsum to compute indexes of sub-matrices in c
la = cumsum(la);

% this is your matrix a
c(la(1):la(2)-1)-a
% and this is your matrix b
c(la(2):la(3)-1)-b
于 2012-11-21T10:37:32.797 に答える