Matlab结构向量结构转换向量
问题描述:
如何将数组x(1:N),y(1:N)转换为具有字段.x和.y的结构S(1:N)没有for-loop? 我可以很容易地转换X,Y成阵列的一个结构:Matlab结构向量结构转换向量
S.x = x; S.y = y;
由于我需要与各个组(XI,YI)的工作,如何可以将其转换为结构的阵列? 我已经找到了解决方案通过表类型要做到这一点,但我不喜欢这样的解决方案:
S = table2struct(struct2table(S))
答
你刚才应该直接后首先把x
和y
细胞阵列使用struct
。当传递到struct
的值是单元阵列时,则会生成一个多维元素struct
,其维数与该单元阵列的维数相同。
S = struct('x', num2cell(x), 'y', num2cell(y));
谢谢,这需要大约0.2秒来创建一个结构向量从两个1000000x1向量与0.7秒table2struct-struct2table方法。 – Sairus