我有一个相当简单的任务。我只是需要做那样的事情
plot(stampy{1:5},data{2}(1:5))
但是,强烈{1:5} 我有五个单独的 ans 和数据{2}(1:5)似乎好好策划。我试图循环 smth就像那样
cc=zeros(1,10);
for i=1:10
cc(i) = stampy{i}
end
但它没有用。我不知道,这似乎是一项非常简单的任务。 有人可以提出解决方案吗? 我有这种形式的数据:
>> stampy{1:5}
ans =
21-Sep-2016 05:52:00
ans =
21-Sep-2016 05:53:00
ans =
21-Sep-2016 05:54:00
ans =
21-Sep-2016 05:55:00
ans =
21-Sep-2016 05:56:00
和
>> data{2}(1:5)
ans =
-32.3750
-25.0000
-25.0000
-25.0000
-25.0000
答案 0 :(得分:3)
您可以使用datenum
将每个日期转换为日期编号,并使用 this 作为x轴。然后,您可以使用datetick
指定用于刻度线的格式。这样做的好处是它可以在任何版本的MATLAB上运行,并且可以处理非均匀间隔的日期。
plot(datenum(stampy), data{2}(1:5))
datetick('x', 'HH:MM:SS')
答案 1 :(得分:2)
如果要绘制时间轴,可以使用datetime
类型的变量:
% the following line converts stampy to a time vector:
sy = datetime(stampy,'InputFormat','dd-MMM-yyyy HH:mm:ss');
plot(sy,data{2}(1:5))
答案 2 :(得分:2)