作业帮 > 综合 > 作业

用matlab求一个序列的所有子序列的那个程序我发现还有问题.

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/27 23:28:23
用matlab求一个序列的所有子序列的那个程序我发现还有问题.
如果序列长度为N,则所有求得的子序列的个数是2^N-1.
我用nchoosek函数写了一个发现没求完整.对于X=‘abcd’不能求到15个只能到13个.为什么会这样?
X='abcd';
l=length(X);
X_ti={};
m=1;
for k=1:13
x=nchoosek(X,k)%nchoosek——从X中取出k个元素的函数
for i=1:l
X_ti{m}=x(i,:);
m=m+1;
end
end
顺便说一下,第5行k循环到13是为了不报错写的.
已经找到问题出在哪里了,我为了把子序列放进cell的那个循环的次数写得不对.
用matlab求一个序列的所有子序列的那个程序我发现还有问题.
你的问题在于里外循环次序反了,外面的应该是for k=1:l,里面的应该是for i=1:nchoosek(l,k)才对.

有问题尽管问,只要不是让我帮你写程序我应该都可以帮得上你.不要忘了采纳就行.