how to extract subarray of cell array based on logical condition?

2 次查看(过去 30 天)
Hi everyone, I have a cell array of the form (but with lots more data)...
'TS-G5-box11-001_0000_-0.0_May01.mrc' 'box11' '001' '-0.0' 'box11_tomo_001'
'TS-G5-box11-001_0001_2.0_May01.mrc' 'box11' '001' '2.0' 'box11_tomo_008'
I'm struggling with something that should be really easy, I want to be able to access a subarray that just shows everything that contains 'box11_tomo_001' or 'box11_tomo_001', is there an easy way to achieve this?
Cheers,
Will

采纳的回答

KSSV
KSSV 2018-5-9
Read about strfind

更多回答(1 个)

Stephen23
Stephen23 2018-5-9
编辑:Stephen23 2018-5-9
Actually all you need is strcmp. Given:
C = {...
'TS-G5-box11-001_0000_-0.0_May01.mrc' 'box11' '001' '-0.0' 'box11_tomo_001'
'TS-G5-box11-001_0001_2.0_May01.mrc' 'box11' '001' '2.0' 'box11_tomo_008'};
>> idx = strcmp(C(:,5),'box11_tomo_001')
idx =
1
0
If you have multiple string that you want to match then ismember can be useful:

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by