2013-05-27 111 views
3

比方說,我有同樣大小的兩個數組:在一個班輪創建一個從多個陣列結構

X = [1 2 3 4 ...] 
Y = [1 2 3 4 ...] 

但我要的是一個結構:

S(1) =   S(2) = 
    X: 1   X: 2 
    Y: 1   Y: 2 

最顯而易見的方法來解決這個問題是:

for ii = 1:length(X) 
    S(ii).X = X(ii); 
    S(ii).Y = Y(ii); 
end 

你甚至可以壓縮這對使用arrayfun一個線,但我正在尋找一個簡單的一行代碼。我希望沿着這條線:

X = [S.X]; 

它解決了同樣的問題,但在相反的方向。

可能嗎?

回答

6

使用struct和細胞

S = struct('X', num2cell(X), 'Y', num2cell(Y));