matlab,字符串数组和加载为标题头

时间:2014-09-16 21:36:29

标签: arrays matlab

我正在使用matlab并尝试制作一个由严重的数字和 - 符号组成的字符串数组。     这些是我的cvs文件标题(我有30个,但我只在这里显示其中的4个)。后来我会     喜欢使用for循环逐个加载文件。到目前为止,我尝试了很多东西,没有用。它     视为字符而不是字符串。我试着读作一个角色但是有关于这个问题的问题     数组也是如此。有谁知道如何制作一个字符串数组并加载文件之一     一个人解决这个问题。

Thank you

Here are my cvs title files

2010-11-03-2010-11-04;   
2010-11-12-2010-11-15
.
.

my code
========
TimeTitleList=['2010-11-03-2010-11-04';  '2010-11-12-2010-11-15';  
'2010-11-15-2010-11-18';'2010-12-03-2010-12-06'; ....] 


for i=1:30

TimeTitle=TimeTitleList(i,1);    
filename = (['data/',TimeTitle,'.csv'])
...

end

Birsen

2 个答案:

答案 0 :(得分:0)

我建议您将每个字符串保存在cell数组中。通过将其放入普通矩阵,您可以有效地创建一个2D字符阵列,并且您访问字符串的方式不会提供您最初的预期。实际上,您只能访问一个字符而不是整个文件名。

因此,尝试这样的事情:

TimeTitleList = {'2010-11-03-2010-11-04'; '2010-11-12-2010-11-15'; ...
                '2010-11-15-2010-11-18';'2010-12-03-2010-12-06'};

{}表示创建单元格数组。执行此操作后,您将使用花括号而不是圆括号访问每个字符串。因此,您的for循环将如下所示:

for i=1:30

    TimeTitle=TimeTitleList{i};   %// Note curly braces! 
    filename = (['data/',TimeTitle,'.csv'])
    ...

end

答案 1 :(得分:-1)

尝试将这一系列数字与“strcat”连接起来

a=strcat('2010-11-03-2010-11-04')
b=strcat('2010-11-03-3460-11-04')

然后,将它们保存在TimeTitleList中,它应该可以工作......

:)