高分求非全排列的Matlab程序!
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 21:39:47
高分求非全排列的Matlab程序!
输入任意两个字符串,得到它们的穿插排列,并存到一个数组中.这种排列是特殊的,满足如下规律,例如:将两个序列,(1,2,3)和(a,b,c,d)放在一起排列,但组内的顺序不变,即123的前后顺序不变,abcd的前后顺序不变,但两序列之间的元素可以互相穿插,最好是用matlab写的.别的也行.
另外,需要注意的是:“输入的两个字符串的长度可能较长,比如是7” ,这时怎样解决运算量太大的问题?还有个致命的问题是 Matlab限制矩阵不能太大,当输入两个字符串的长度都是6时,可能会出现错误.
输入任意两个字符串,得到它们的穿插排列,并存到一个数组中.这种排列是特殊的,满足如下规律,例如:将两个序列,(1,2,3)和(a,b,c,d)放在一起排列,但组内的顺序不变,即123的前后顺序不变,abcd的前后顺序不变,但两序列之间的元素可以互相穿插,最好是用matlab写的.别的也行.
另外,需要注意的是:“输入的两个字符串的长度可能较长,比如是7” ,这时怎样解决运算量太大的问题?还有个致命的问题是 Matlab限制矩阵不能太大,当输入两个字符串的长度都是6时,可能会出现错误.
程序太长了,我弄了几次都没有成功,我将它放在了我的空间上,你可以链接去复制下来
http://hi.baidu.com/carrot_hy/blog/item/589ebb0a5ee0343ee82488ff.html
附上一小段
%InsertPerms.m用来得到穿插排列,并保持原各字符串中顺序
%屏幕提示输入字符串StrA,StrB
%输出中InStr为所求矩阵
clc;clear;
StrA=input('Please Enter a String Vector : ','s');%输入字符串StrA
StrB=input('Please Enter a String Vector : ','s');%输入字符串StrB
StrAn=length(StrA); %字符串StrA的长度
StrBn=length(StrB); %字符串StrB的长度
%建立一个长为两字符串合起来长的索引,前一部分为StrA索引,后一部分为StrB索引
http://hi.baidu.com/carrot_hy/blog/item/589ebb0a5ee0343ee82488ff.html
附上一小段
%InsertPerms.m用来得到穿插排列,并保持原各字符串中顺序
%屏幕提示输入字符串StrA,StrB
%输出中InStr为所求矩阵
clc;clear;
StrA=input('Please Enter a String Vector : ','s');%输入字符串StrA
StrB=input('Please Enter a String Vector : ','s');%输入字符串StrB
StrAn=length(StrA); %字符串StrA的长度
StrBn=length(StrB); %字符串StrB的长度
%建立一个长为两字符串合起来长的索引,前一部分为StrA索引,后一部分为StrB索引