我有一个类似"FBECGHD"的字符串,我需要使用MATLAB并生成所有必需的排列?在那里有一个特定的MATLAB函数来完成这个任务,还是我应该定义一个执行这个任务的自定义MATLAB函数?
使用perms功能.matlab中的字符串是一个字符列表,因此它将置换它们:
A = 'FBECGHD';
perms(A)
Run Code Online (Sandbox Code Playgroud)
您还可以存储输出(例如P = perms(A)
),如果A是N字符串,则P是N!-by-N数组,其中每行对应于一个排列.
如果您对独特的排列感兴趣,可以使用:
unique(perms(A), 'rows')
Run Code Online (Sandbox Code Playgroud)
删除重复项(否则类似'ABB'会给出6个结果,而不是你可能期望的3个结果).
归档时间: |
|
查看次数: |
1626 次 |
最近记录: |