向量的Matlab结构到结构转换的向量

Matlab struct of vectors to vector of struct conversion

如何在不使用 for 循环的情况下快速将数组 x(1:N)、y(1:N) 转换为具有字段 .x 和 .y 的结构 S(1:N)? 我可以轻松地将 x、y 转换为数组结构:

S.x = x; S.y = y;

由于我需要处理单独的 (xi, yi) 集,我如何将其转换为结构数组? 我找到了通过 table 类型执行此操作的解决方案,但我不喜欢此解决方案:

S = table2struct(struct2table(S))

您应该在首次将 xy 转换为元胞数组后直接使用 struct。当传递给 struct 的值是元胞数组时,这会生成一个多元素 struct,其维度与该元胞数组相同。

S = struct('x', num2cell(x), 'y', num2cell(y));