Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我有一个频道列表:
channels = {'1LT1', '1LT2', '1LT3', '1LT4', '1LT5', '2LA1', '2LA2', '2LA3', '3LH1', '3LH5', '4LT1', '4LT2', '4LT3', '5LH1', '5LH2', '4LT10'} 我需要写一个alogrithm,只留下远端通道。这意味着对于每种类型的通道(“ 1LT”,“ 2LA”,“ 3LH”,“ 4LT”等),我只需要最后编号最高的通道即可。最好的方法是返回这些通道的索引。例如,对于上述列表,结果应为: [5, 8, 10, 15, 16] 我想我可以用regexp做到这一点,就像这样拆分: row_i = 1; for ch_i=[1:length(channels)] try [n(row_i,:), ch_type(row_i,:)] = strsplit(channels{ch_i},'\d+[AZ]', 'DelimiterType','RegularExpression'); row_i = row_i + 1; catch continue end end 但是后来我真的被困住了。有人可以给我一些技巧来创建好的算法吗? 我感谢任何想法! 更多&回答... |
![]() |
![]() |