2017-08-13 46 views
1

Matlab在這一點上真的讓我發瘋。我只想訪問2d數組的內部數組。Matlab訪問2D陣列的內部陣列

例如爲:

A = [1,1; 2,2; 3,3] 
B = [4,4; 5,5; 6,6] 
C = [7,7; 8,8; 9,9] 
D = [0,0; 1,2; 3,4] 

E = [A,B,C,D] 

我怎麼例如BE了嗎?

我的意思是在完全相同的文字STYL像X = [4,4; 5,5; 6,6]

+2

我不確定我是否理解這個問題。您使用的語法將數組連接到一個新的數組,它不是數組的數組。 如果你想要一個數組數組,儘管這在MatLab中是理想的,你可以使用一個單元格,E = {A,B,C,D}。然後你可以使用E {2} – crown42

+0

@ crown42得到B,這就是我一直在尋找的東西。 thx :) – user1234

+0

'X = E(:,3:4)'? – beaker

回答

3

使用數組串接到一個新的語法,它不是一個數組的數組。 如果你想要一個數組數組,你可以使用一個單元格,E = {A,B,C,D}。然後你可以使用E {2}返回B.

單元格是一般容器,每個元素可以包含任何你想要的,它不一定是相同的數據類型。見What is a cell?

2

您級聯A,B,C,d水平到一個新的數組ë。這不是另一個答案指出的陣列數組。假設新陣列是你想要的。如果你想提取原始Ë,你需要知道一個的規模,在這種情況下兩者都是3x2的。所以你可以做以下操作:

X = E(:, 3:4); % 3 is size(A,2)+1, numel(3:4) is size(B,2) 

此外我認爲你並沒有真正的意思是「創作風格」,因爲這是我們剛寫的分配方式。