-1

以下で述べたように、C細胞があるとします。

C =

[31, 17]      [57, 17]       [83, 17]      [109, 17]     [135, 17]
[31, 33]      [57, 33]       [83, 33]      [109, 33]     [135, 33]
[31, 49]      [57, 49]       [83, 49]      [109, 49]     [135, 49]
[31, 65]      [57, 65]       [83, 65]      [109, 65]     [135, 65]
[31, 81]      [57, 81]       [83, 81]      [109, 81]     [135, 81]
[31, 97]      [57, 97]       [83, 97]      [109, 97]     [135, 97]
[31, 113]     [57, 113]      [83, 113]     [109, 113]    [135, 113]
[31, 129]     [57, 129]      [83, 129]     [109, 129]    [135, 129]
[31, 145]     [57, 145]      [83, 145]     [109, 145]    [135, 145]
[31, 161]     [57, 161]      [83, 161]     [109, 161]    [135, 161]
[31, 177]     [57, 177]      [83, 177]     [109, 177]    [135, 177]


ここで、次のような新しいマトリックスですべてのデータを抽出したいと思います。

C11 = ([31,17] [57,17]; [31,33] [57,33])          
C12 = ([57,17] [83,17]; [57,33] [83,33])                       
C13 = ([83,17] [109,17]; [83,33] [109,33])    
C14 = ([109,17] [135,17]; [109,33] [135,33])    
C21 = ([31,33] [57,33]; [31,49] [57,49])                           
C22 = ([57,33] [83,33]; [57,49] [83,49])
C23 = ([83,33] [109,33]; [83,49] [109,49]) 

....... ........ ....... ...... ..               

C104 = ([109,161] [135,161]; [109,177] [109,177])

Matlabでそれを行うにはどうすればよいですか?

4

1 に答える 1

0

丸括弧で配列添字を使用するだけです。たとえば、C12は次のように計算されます。

>> C12(1:2, 2:3)

ans =
    { [ 57 17 ]    [ 83 17 ] }
    { [ 57 33 ]    [ 83 33 ] }

for ループを実行してセル配列を反復処理し、必要なセルを 1 つずつ抽出して、それぞれを別の変数に格納できます。ただし、すべてのデータは既に保存されCているので、複製する必要はありません。すべてをセル配列に保持し、必要な場合にのみ行列を抽出することをお勧めします。

于 2013-03-21T13:54:29.727 に答える