好的,我有两个变量 - 事件12x1
,类型12x1
。看起来像跟随;
Events =
13.0850
15.1860
20.1470
24.3080
27.3030
29.4180
33.2930
36.3710
38.7080
42.4300
44.6670
46.9640
type =
'control'
'control'
'control'
'control'
'control'
'control'
'control'
'control'
'control'
'control'
'control'
'control'
我想将以下内容写入文件(.txt),该文件的标题为变量名称,其值位于其下方。或者我可以将单元格数组连接到数字双数组并写入文件吗?
答案 0 :(得分:0)
至少在最近的MATLAB版本中,最简单的方法是将变量放在一个表中,然后写出表格。
>> myevents = [1;2;3]
myevents =
1
2
3
>> mytypes = {'control';'control';'control'}
mytypes =
'control'
'control'
'control'
>> t = table(myevents, mytypes)
t =
myevents mytypes
________ _________
1 'control'
2 'control'
3 'control'
>> writetable(t,'myfile.csv')
>> type('myfile.csv') % Display contents of the file just created
myevents,mytypes
1,control
2,control
3,control
R2013b中引入了 table
。在该版本之前,最简单的方法是使用fprintf
等低级函数直接编写文件。
修改:如果您的版本低于R2013b,则可以使用以下内容:
fid = fopen('myfile.csv','w');
for i = 1:numel(myevents)
fprintf(fid, '%f,%s\n', myevents(i), mytypes{i});
end
fclose(fid);
>> type('myfile.csv')
myevents,mytypes
1.000000,control
2.000000,control
3.000000,control
使用格式说明符(例如%f
,%s
)指定数字的输出格式。请参阅doc fprintf
以查找详细信息。