gpt4 book ai didi

matlab - 在 Matlab 中拆分时间戳

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:39 26 4
gpt4 key购买 nike

我有一个文件,其中包含我试图在 Matlab 中拆分的数据值和时间戳。这是格式:

-18.151346    Mon Jan 28 11:33:08 2013

我正在使用 textscan 函数尝试拆分它。

data=textscan(fid,'%f%s%s%f%s%n','delimiter','space');

我试图将时间戳拆分成单独的列,这样我就可以只使用时间而不是日期或年份。我看过一些以前的问题,这些问题非常相似,但出于某种原因,我无法让它做我想做的事。我生成的元胞数组采用这种格式。

Column 1     Column 2   Column 3 
-18.151346 Mon Jan 28 11:33:08 2013

我是 Matlab 的新手,所以非常感谢任何帮助。提前致谢。

最佳答案

  1. 您正在使用 'space' 字符串作为分隔符,这在 textscan 中是非法的。将其指定为 ' '
  2. 您希望将连续的空格视为一个空格,因此还应将 'MultipleDelimsAsOne' 标志设置为 1。

正确的语法应该是:

textscan( fid, '%f%s%s%s%s%n', 'delimiter', ' ', 'MultipleDelimsAsOne', 1);

如果您没有尝试修改 delimiter 选项,默认情况下此行为会正确完成,所以只需省略所有选项:

textscan( fid, '%f%s%s%s%s%n');

另请注意,字符串中被空格包围的每个项目都需要一个标记。换句话说,对于这样的字符串:

-18.151346 Mon Jan 28 11:33:08 2013

字符串形式的时间戳将存储在结果元胞数组的第 5 列中。

关于matlab - 在 Matlab 中拆分时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com