如何确定,所有单元阵列值存在于其他单元阵列吗?

50个视图(30天)
你好每一个人
我有一个单元阵列
S = 3×1单元阵列
(62年56 29日)
(34 40 62)
(48 52 7)
在单元阵列和其他序列的值
T{1}为例:
1 3 5 7 9 11 13 15 17日19日21日23日25 27 29日31日34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74
Hiw我可以检查所有值在T S是包含?
谢谢你!
1评论
骑自行车的人
骑自行车的人 2023年6月14日21:29
拯救任何人谁看这个的努力:
S = {(29 56 62);
(34 40 62);
[48 52 7]};
T ={[1 3 5 7 9 11 13 15 17日19日21日23日25日27日29日31日34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74]};

登录置评。

接受的答案

骑自行车的人
骑自行车的人 2023年6月14日21:50
这是我想要:
S = {(29 56 62);
(34 40 62);
[48 52 7]};
T ={[1 3 5 7 9 11 13 15 17日19日21日23日25日27日29日31日34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74]};
allSinT = cellfun (@ (x, y)所有(ismember (x, y), 2),年代,repmat (T,大小(S)))
allSinT =3×1逻辑数组
1 1 1

答案(1)

Samya
Samya 2023年6月14日21:28
编辑:Samya 2023年6月14日21:29
@Mira勒 !
检查是否所有的值 年代 被包含在 T ,你可以使用 ismember 函数。
这里的代码来检查是否所有的值 年代 被包含在 T {1} 具体地说:
所有(ismember (T S {1}, {1}))
这将返回一个逻辑值 真正的 如果所有的值 年代{1} 被包含在 T {1} 否则。
如果您有多个序列 T 你需要检查是否所有的值 年代 包含在其中的任何一个,你可以使用一个循环:
all_included = false;
i = 1:长度(T)
如果所有(ismember (T S{我},{我}))
all_included = true;
打破;
结束
结束
这将返回一个逻辑值 真正的 all_included 如果所有的值 年代 包含在序列的吗 T , 否则。
希望这可以帮助!

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

s manbetx 845


释放

R2017a

社区寻宝

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

开始狩猎!