使用Datetime数组的矩阵数学

7次浏览(过去30天)
加布里埃尔·斯坦利
加布里埃尔·斯坦利 2021年11月2日
回答: 史蒂文的主 2021年11月3日
我有一个函数,用来确定数组1中最接近数组2中给定元素的元素 这个问答链 .然而,当我试图输入 datetime 数组,段[ Array2“-Array1]。 抛出一个错误,指出输入必须具有相同的大小,当我向代码提供不同大小的数字数组时,这不是抛出的错误。我会用 time2num 要转换 datetime 数组,但是该函数不允许我所要求的精度级别(小于秒)。
是否有任何已知的工作方法来对日期时间数组执行矩阵数学,或者,如果失败,关于如何以任意精度将日期时间转换为数值的任何其他想法?

接受的答案

史蒂文的主
史蒂文的主 2021年11月3日
金宝app上的某些操作支持隐式展开 datetime 持续时间 calendarDuration , 分类 数组被添加到 释放R2020b
如果无法升级,您可以使用 repmat 将不同方向的向量转换为具有相同维数的矩阵,并对这些矩阵进行元素运算。

更多答案(1)

凯利卡尼
凯利卡尼 2021年11月3日
正如您所发现的,隐式展开只支持数值数组(尽管我不确定在哪里有文档)。金宝app为了对datetimes做同样的事情,我只需要将其转换为datenumbers:
T1 = datetime(2021,1:12,1);
T2 = datetime(2021,1,1) + days(rand(10,1)*365);
Dt = datenum(t1) - datenum(t2);天数成对差值%(数字数组)
如果你在那之后需要做时间导向的事情,你总是可以回投到持续时间:
Dt =天(Dt);%持续时间数组

类别

了解更多矩阵和数组帮助中心而且文件交换

下载188bet金宝搏


释放

R2019b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!