首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将矩阵中的项与单元格数组中的项映射

问将矩阵中的项与单元格数组中的项映射
EN

Stack Overflow用户
提问于 2014-02-24 15:52:08
回答 1查看 54关注 0票数 1

我有一个单列矩阵A,其中包含的时间列表如下,

代码语言:javascript
复制
1710
1760
2022
2300
2456
2687
3398
3480
3767
3846
5493
5678
5976
7562
7789
7800
8456
9256
9432
9684
12882
13456
16789

以及包含时间周期和标签的cell数组B (启动时间结束时间标签)。

代码语言:javascript
复制
1708    2392    +
3394    3660    +
5490    5743    +
7555    7809    -
9256    9509    -
12878   15066   -

我想在A中找到每个项目的标签,并将其写成一个新的矩阵。因此,我需要检查A中的每一项,并将其与B中的开始时间和结束时间进行比较,如果它属于给定的时间限制,我可以在矩阵C中写入标签(+/-),如果没有,我可以在那里写0。如何在MATLAB中做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-24 16:29:31

您可以使用bsxfun比较A在B中的启动时间和结束时间。

代码语言:javascript
复制
startTime = vertcat( B{:,1} ); % assuming B is 6x3 cell array
endTime = vertcat( B{:,2} );
sel = bsxfun( @ge, A', startTime ) & bsxfun( @le, A', endTime ); % check valid interval
[valid inIdx] = max( sel, [], 1 );

valid要么是1(对于A中的元素在B中的某个时间间隔内),要么是0。对于A中valid为1的元素,inIdx的相应值将给出区间索引(1至6)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21992448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档