假设我有两个相同大小的数组:
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];
它解决了同样的问题,但方向相反。
这可能吗?
最佳答案
使用结构
和单元格
S = struct('X', num2cell(X), 'Y', num2cell(Y) );
关于arrays - 在一行中从多个数组创建结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768255/