【发布时间】:2023-03-23 08:21:01
【问题描述】:
我正在尝试从已保存的 MATLAB 结构数组中导入数据,但 Mathematica 似乎只导入了第一个元素。
MATLAB
blank = struct('x', [], 'y', [], 'z', []);
data = repmat(blank, 1, 10);
for i = 1:10
data(i) = struct('x', i, 'y', i * 2, 'z', i * 3);
end
save('test.mat', 'data');
数学
In[76]:= Import["test.mat", "LabeledData"]
Out[76]= {"data" -> {"x" -> {{1.}}, "y" -> {{2.}}, "z" -> {{3.}}}}
有人知道为什么会这样吗?
作为临时修复,我只是将多个结构存储在一个单元数组中,即
data{i} = struct(...)
Mathematica 似乎能够处理得很好。
【问题讨论】:
-
也许您可以将其从“结构数组”更改为“数组结构”,无论如何它的空间开销更少:stackoverflow.com/questions/4166438/…
标签: arrays matlab import struct wolfram-mathematica