我正在将 ASCII 数据加载到 Matlab 中,我希望将它们存储为单元数组而不是结构,以使后续分析更直接。
当我使用该uiimport
函数时,它允许我将数据导入为元胞数组,但我想在没有图形界面的情况下导入大量数据。现在,我一直在尝试将该importdata
功能用作:
data=importdata(filename,'\t',15);
它完美地工作,除了它将数据保存为结构的事实。有没有其他方法可以做到这一点,或者只制作一个结构单元对我来说是最快的吗?
提前谢谢了!
我仍然没有一个非常漂亮的解决方案,但它有效。所以我importdata
毕竟去使用了,使用 for 循环为每个主题和试验创建一个包含结构化数组的单元格,
ntrials=4; %# of trials per subject
datanamelist=['subjectA'; 'subjectB'; 'etc' ];
for i=1:size(datanamelist,1)
for j=1:ntrials;
filename=sprintf('%s%g.txt',datanamelist(i,:),j);
PDdata{i,j}=importdata(filename,'\t',15); %first 15 lines are headers
end
end
我现在能够从每个特定数组中提取数据,将其访问为PDdata{subject,ntrials}.data
因此,创建一个包含所有数据的 4D 矩阵(循环对象 i 和试验 j)
dataMatrix(:,:,i,j)=PDdata{i,j}.data
仍然欢迎更漂亮的解决方案