Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-05-07, 16:34   #1
闫世军 neu
初级会员
 
注册日期: 2008-03-27
年龄: 40
帖子: 11
声望力: 18
闫世军 neu 正向着好的方向发展
帖子 [求助]请高手帮忙解决错误Subscript indices must either be real positive integers or logicals.

%化简序列,当多个H相连时,将其看作一个H,并把H中间的的C去掉;
%多个C相连时,将其看作一个C
%E和H之间的C也可以去掉
clear;
clc;
fprintf('input the sequence:\n');
sequ=input(' ','s');
k=length(sequ);
%把H中间的C去掉,H和E之间的C去掉,E和H之间的C去掉
while i<=k
if i==1&sequ(i)=='C'
for j=1:k-i
if sequ(i+j)=='C'
continue;
else break;
end
end
i=i+j;
elseif sequ(i)=='H'%----------------------------------------------------第19行
for j=1:k-i
if sequ(i+j)=='C'
continue;
else break;
end
end
if i+j>k
sequ=sequ;
else
sequ=strcat(substring(sequ,0,i-1),substring(sequ,i+j-1));
i=i+1;
k=length(sequ);
end
elseif sequ(i)=='E'
for j=1:k-i
if sequ(i+j)=='C'
continue;
elseif sequ(i+j)=='H'
break;
end
end
if i+j>k
sequ=sequ;
else
sequ=strcat(substring(sequ,0,i-1),substring(sequ,i+j-1));
i=i+1;
k=length(sequ);
end
elseif sequ(i)==' '
break;
end
end
%把多个H相连和多个C相连分别看作成一个H和一个C
while i<=k
if sequ(i)=='C'
for j=1k-j)
if sequ(i)=='C'
continue;
else break;
end
end
if i+j>k
sequ=strcat(substring(sequ,0,i-1),'C');
break;
else
sequ=strcat(substring(sequ,0,i-1),'C',substring(sequ,i+j-1));
i=i+2;
k=length(sequ);
end
else sequ(i)=='H'
for j=1k-j)
if sequ(i)=='H'
continue;
else break;
end
end
if i+j>k
sequ=strcat(substring(sequ,0,i-1),'H');
break;
else
sequ=strcat(substring(sequ,0,i-1),'H',substring(sequ,i+j-1));
i=i+2;
k=length(sequ);
end
end
end

运行结果发生错误为: (错误已标出 )
??? Subscript indices must either be real positive integers or logicals.

Error in ==> totalprogram at 19
elseif sequ(i)=='H'%----------------------------------------------------第19行
闫世军 neu 当前离线   回复时引用此帖
旧 2008-05-08, 08:52   #2
lincong999
初级会员
 
注册日期: 2008-04-14
年龄: 41
帖子: 5
声望力: 0
lincong999 正向着好的方向发展
默认

打断点 检查19行里的那个下标是不是 int or logical
lincong999 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
扩频通信的载波恢复方法 winegdsky MATLAB论坛 2 2008-12-20 01:19
怎么实现测试两张图片的相似行呢 tdjdyq MATLAB论坛 0 2008-07-11 10:03
[求助]求助高手!!用MATLAB制作动画 shingo MATLAB论坛 1 2008-05-11 08:33
[求助]fplot和ezplot功能一样啊? hgdzxz MATLAB论坛 1 2008-03-28 21:19
【求助】matlab里面“R”键不能用 wlshfd MATLAB论坛 2 2008-01-09 19:02


所有时间均为北京时间。现在的时间是 14:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.