基于matlab处理时序数据总结

从python读取的数据导入excel之后,我从matlab导入excel数据,发现导入的数据是cell型矩阵,无法处理。
》 weight1
weight1 =
95×2 cell 数组
‘2019/12/23 15:30:28’ ‘13.8’
‘2019/12/23 15:41:07’ ‘14.4’
经过查找相关资料,我发现是需要对cell进行转换。我的原始数据是两列,一列是时间数据,一列是数值数据。首先转换数值数据,利用函数cell2mat
weight4=cell2mat(weight1(:,2))
转换成的weight4为4位char数据。最后还是需要转换:
m=str2num(weight4); %%最终得到m是数值;
接着转换时间数据,转换之后出错:
m1=cell2mat(weight1(:,1))
错误使用 cat,串联的矩阵的维度不一致。
出错 cell2mat (line 83)
m{n} = cat(1,c{:,n});

经过查找,解决的代码如下:
m1=char(weight1(:,1)) %不适用cell2mat函数,而使用char函数;
转换之后的m1是一个多维字符型数组;
接着要将m1转换成时间数组,应用datavec函数;
t2=datevec(m1);
最后转换成时间变量:
t1=datetime(t2(1,1),t2(2,1),t2(3,1),t2(1,1),t2(2,1),t2(3,1))
最终结果:
t1 =
datetime
2019-12-23 15:30:28
%%datatime变量可以用在plot函数中;

你可能感兴趣的:(学习整理,matlab,线性代数)