假设我有两个相同大小的数组:
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];
解决了同样的问题,但方向相反。
有可能吗?
答案 0 :(得分:6)
使用struct
和单元格
S = struct('X', num2cell(X), 'Y', num2cell(Y) );