[matlab软件程序]全排列.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[matlab软件程序]全排列.doc

列出一个字符串的全排列 一. 实验目的实验原理从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。设R={r1,r2,..rn} 是要进行排列的n个元素,Ri=R-{ri}.集合X中元素的全排列记为perm(X); 设(ri)perm(X)表示每一个全排列前加上前缀ri得到的排列.当n=1时,perm(R)=(r) 其中r是唯一的元素,这个就是出口条件. 当n1时,perm(R)由(r1)perm(R1),(r2)perm(R2),...(rn)perm(Rn)构成.实验内容字典序法递增进位制数法递减进位制数法邻位对换法s=length(S); %求字符串长度 C=1:s; A=S(C); r=s-1; while r if C(r)C(r+1) for u=s:-1:1 if C(u)C(r) temp=C(u); %从最后2个元素开始,将后一位元素与前面一位交互,一次做排列。将输出结果存入S。 C(u)=C(r); C(r)=temp; C(r+1:s)=C(s:-1:r+1); r=s-1; A=[A;S(C)]; break; end end else r=r-1; end end A 五. 实验a=3 4 5 A= 3 4 5 4 3 5 3 5 4 5 3 4 5 4 3 4 5 3 六. 实验中遇到的问题及解决办法 实验结论Matlab中有自带的perm函数可解决字符串的全排列问题,且比较简单,快速。但我们自己在解决问题的时候,也可以自己动手编写新的程序,计算一些比较简单的全排列问题。 八. 相关问题思考 本次试验还存在缺陷,即当字符串中有重复的字符时,会出现重复无意义排列的输出,这个问题我还不能编写出合适的程序解决。用自己编写的程序速度较慢,且编写过程容易产生错误,因此我觉得使用matlab中自带的函数perm解决字符串全排列才是最合适的方法。 九.参考文献 [1] 刘思泽 数学软件讲义 重庆大学数学与统计学院

文档评论(0)

jz6501 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档