首页 > 解决方案 > 重新排列元胞数组中的元胞

问题描述

我有一个 16x1 单元阵列,我想重新排列:

{'T1' }
{'T10'}
{'T11'}
{'T12'}
{'T13'}
{'T14'}
{'T15'}
{'T16'}
{'T2' }
{'T3' }
{'T4' }
{'T5' }
{'T6' }
{'T7' }
{'T8' }
{'T9' }

我如何重新排列它以保持 16x1 结构,但排序为

{'T1' }
{'T2' }
{'T3' }
{'T4' }
{'T5' }
{'T6' }
{'T7' }
{'T8' }
{'T9' }
{'T10'}
{'T11'}
{'T12'}
{'T13'}
{'T14'}
{'T15'}
{'T16'}

谢谢你的时间。

标签: matlab

解决方案


您可以将字符串转换为数字向量(使用sscanf)并使用已排序数字的索引重新排列原始元胞数组A

[~, idx] = sort(sscanf([A{:}], 'T%d', numel(A)));
B = A(idx);

推荐阅读