我有2列矩阵。第一列是日期。第二列的值。我如何获取所有值从2日从第一列的列与它的日期好吗? ?

1视图(30天)
我有一个更大的数据集,但这只是一个小样本大小的例子,我想做什么。
我想抓住所有的值从4/1/18:6
我想抓住所有的值从4/2/18:22岁,4
我想抓住所有的值从4/2/18:2、12、8
矩阵的例子:
第一列第二列
4/1/18 6
4/2/18 22
4/2/18 4
4/3/18 2
4/3/18 12
4/3/18 8

答案(3)

Dyuman Joshi
Dyuman Joshi 2022年4月16日
%的例子中,不确定要使用哪个日期格式和数据类型
y = {datetime (“2018-01-04”)6;datetime (“2018-02-04”)22;datetime (“2018-02-04”)4;datetime (“2018-03-04”)2;datetime (“2018-03-04”)12;datetime (“2018-03-04”8)}
y =6×2单元阵列
{(04 -简- 2018)}{[6]}{[04 - 2月- 2018]}{[22]}{[04 - 2月- 2018]}{[4]}{[04 - mar - 2018]} {[2]} {[04 - mar - 2018]} {[12]} {[04 - mar - 2018]} {[8]}
z =独特(cellfun (@ (x) x, y (: 1)))
z =3×1 datetime数组
04 - 2018年1月- 2018年2月04 - - 04 - mar - 2018
i = 1:元素个数(z)
y(找到(cellfun (@ (x) x, y (: 1)) = = z (i)), 2)”
%可以使用花括号
结束
ans =1×1单元阵列
{[6]}
ans =1×2单元阵列
{[22]}{[4]}
ans =1×3单元阵列
{[2]}{[12]}{[8]}

斯科特·麦肯齐
斯科特·麦肯齐 2022年4月16日
这样的工作:
%测试数据
d = {“4/1/18”6;
“4/2/18”22;
“4/2/18”4;
“4/3/18”,2;
“4/3/18”,12;
“4/3/18”8};
dt = datetime (d (: 1),“InputFormat”,“MM / dd / yy”);
值= cell2mat (d (:, 2));
query1 = dt = = datetime (“4/1/18”,“InputFormat”,“MM / dd / yy”);
v1 =值(query1)
v1 = 6
query2 = dt = = datetime (“4/2/18”,“InputFormat”,“MM / dd / yy”);
v2 =值(query2)
v2 = 2×1
22日4
query3 = dt = = datetime (“4/3/18”,“InputFormat”,“MM / dd / yy”);
v3 =值(query3)
v3 = 3×1
2 12 8

剪秋罗属植物龙
剪秋罗属植物龙 2022年5月18日
这样的任务是什么 时间表 建立:
%使用你的小例子
tt =时间表(datetime (2018 4 (1; 2, 2, 3, 3, 3]), [6; 22; 4; 2、12、8])
tt =6×1的时间表
时间 Var1 ___________ ____ 01 - 4月- 2018602 - 4月- 20182202 - 4月- 2018403 - 4月- 2018203 - 4月- 20181203 - 4月- 20188
%只是下标数据在时间戳你正在寻找,
%如4/2/2018
tt (datetime (2018、4、2):)
ans =2×1的时间表
时间 Var1 ___________ ____ 02 - 4月- 20182202 - 4月- 20184
奖金:使用 timerange 如果你想要在时间范围内的数据
%与4/2/2018 4/3/2018(闭区间)
tt (timerange (datetime (2018、4、2), datetime (2018、4、3),“关闭”):)
ans =5×1的时间表
时间 Var1 ___________ ____ 02 - 4月- 20182202 - 4月- 2018403 - 4月- 2018203 - 4月- 20181203 - 4月- 20188

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!