在曲线拟合工具箱的时间传染媒介

时间:2018-02-17 06:35:00

标签: matlab curve-fitting

我想使用曲线拟合工具箱来模拟我的日,其中包括两个向量,时间和测量。这是我的数据文件的屏幕截图(我将仅使用时间和DOWN)。 enter image description here

如何在工具箱中将时间向量作为我的x向量?它是当前的日期时间类型向量,当我选择我的变量时,我在列表中找不到它,使用的格式是什么?

1 个答案:

答案 0 :(得分:1)

这是我的excel样本(我减少了观察量,但这不会影响最终结果):

DATE        TIME        DOWN
---------   ----------  -----
1/27/2018   8:00:03 PM  5,375
1/27/2018   8:00:06 PM  5,375
1/27/2018   8:00:10 PM  5,375
1/27/2018   8:00:13 PM  5,375
1/27/2018   8:00:17 PM  5,375
1/27/2018   8:00:20 PM  4,855
1/27/2018   8:00:27 PM  4,855
1/27/2018   8:00:31 PM  4,855
1/27/2018   8:00:35 PM  4,855
1/27/2018   8:00:38 PM  4,855

我通常更喜欢将readtable函数和调整后的导入选项一起使用,如下所示:

opts = detectImportOptions('data.xlsx');
opts.VariableTypes = {'datetime' 'datetime' 'double'};
data = readtable('data.xlsx',opts);

然后将解析data变量,如下所示:

DATE (datetime)         TIME (datetime)         DOWN (double)
----------------------  ----------------------  ----------------
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:03'  5,37500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:06'  5,37500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:10'  5,37500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:13'  5,37500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:17'  5,37500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:20'  4,85500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:27'  4,85500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:31'  4,85500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:35'  4,85500000000000
'27-Jan-2018 00:00:00'  '31-Dec-1899 20:00:38'  4,85500000000000

如您所见,当未定义时间时,它被默认为00:00:00;日期也是如此,它被默认为31-Dec-1899。由于引用日期是静态的并且永远不会更改,因此我认为最好的做法是合并表格的前两列,以便生成一致的datenum值,以用作X Data({{ 1}}变量不能在曲线拟合工具箱中使用,必须将它们转换为串行格式):

datetime

[y,m,d] = ymd(data.DATE); [h,mn,s] = hms(data.TIME); x = datenum(y,m,d,h,mn,s) x = 737087.833368056 737087.833402778 737087.833449074 737087.833483796 737087.833530093 737087.833564815 737087.833645833 737087.83369213 737087.833738426 737087.833773148 中用作Y Data的值可以直接从cftooldata中提取:

DOWN