Generate Exhaustive Permutations

版本 1.1.0.1 (5.1 KB) 作者: Michael Chan
Illustrates generation of exhaustive permutation of symbols given the symbolic bases.
1.1K 次下载
更新时间 2025/5/14

查看许可证

Generate Exhaustive Permutations
--------------------------------------------------
[1] main executing reference usage: usage_generateExhaustivePermutation
The objective is to illustrate generation of exhaustive permutation of symbols given the symbolic bases.
The method of generation is a kronecker-akin approach. The indexRepresentedPermutations may be mapped to any symbols provided.
Sample output:
ssssGiven bases = 'AB';
lengthOf1PatternSeq = 3;
< symbols >
AAA
AAB
ABA
ABB
BAA
BAB
BBA
BBB
< indexRepresentedPermutations >
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
ssssGiven bases = '01';
lengthOf1PatternSeq = 4;
< symbols >
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
< indexRepresentedPermutations >
1 1 1 1
1 1 1 2
1 1 2 1
1 1 2 2
1 2 1 1
1 2 1 2
1 2 2 1
1 2 2 2
2 1 1 1
2 1 1 2
2 1 2 1
2 1 2 2
2 2 1 1
2 2 1 2
2 2 2 1
2 2 2 2
--------------------------------------------------
[2] main executing reference usage: usage_computePermutationSeqForSpecificIndex
Obtain a sequence of permutation by direct computation, instead of extracting from a pre-generated exhaustive sequence of prescribed order.
This accelerate the process and saves memory space.
Sample output:
The sequence is CGGGCAG.
The sequence indexed extracted from exhaustive list is CGGGCAG from index: 4044.
==========================================
The sequence is CCCTATC.
The sequence indexed extracted from exhaustive list is CCCTATC from index: 101.
==========================================
The sequence is CCTGGAC.
The sequence indexed extracted from exhaustive list is CCTGGAC from index: 505.
==========================================
The sequence is CCGGATA.
The sequence indexed extracted from exhaustive list is CCGGATA from index: 999.
==========================================
* Caveat : Illustrative Purposes
- may run out of memory when lengthOf1PatternSeq >= 10;
- note as well that lengthOf1PatternSeq has to be >= length(bases)
- uncomment variables for display, eg. indexRepresentedPermutations
If the demo has more elegant presentation, please do not hesitate to suggest and send feedback to author.
Thank you.
Regards,
Michael Chan JT

引用格式

Michael Chan (2025). Generate Exhaustive Permutations (https://www.mathworks.com/matlabcentral/fileexchange/29383-generate-exhaustive-permutations), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2010a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Biological and Health Sciences 的更多信息
致谢

启发作品: Motif Finding

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.1.0.1

.

1.1.0.0

Added an option to derive a permutated sequence for a specific index for speed and memory conservation.

1.0.0.0