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];

它解决了相同的问题,但方向相反。

可能吗?

4

1 回答 1

6

使用struct和细胞

S = struct('X', num2cell(X), 'Y', num2cell(Y) );
于 2013-05-27T07:27:37.863 回答