2017-04-12 175 views
0

如何將數組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)) 

回答

0

你剛纔應該直接後首先把xy細胞陣列使用struct。當傳遞到struct的值是單元陣列時,則會生成一個多維元素struct,其維數與該單元陣列的維數相同。

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

謝謝,這需要大約0.2秒來創建一個結構向量從兩個1000000x1向量與0.7秒table2struct-struct2table方法。 – Sairus