MATLAB 中 Index exceeds matrix dimensions.错误

文本文件名字是yy.txt,内容是:FICZ0326/ANB-6059DTQXTPOR1260146J03AADS.B-6059070337B6177A02E245B18... 文本文件名字是yy.txt,内容是:
FI CZ0326/AN B-6059
DT QXT POR1 260146 J03A
ADS.B-6059070337B6177A02E245B180F
MATLAB程序:
fid1=fopen('yy.txt','rt');
A=fscanf(fid1,'%s')
i=1;j=2;k=1;
for i=1:length(A);
if A(i)=='F'&A(j)=='I'
a=j+1;
end
if A(i)=='D'&A(j)=='T'
b=i-1;
end
i=i+1;j=j+1;
end
c=a;
for c=a:b;
B(k)=A(c);
k=k+1;
end
为什么会在第一个if语句中出现“Index exceeds matrix dimensions”这种错误呢?我以前有一个很类似的程序,就没有错误,想不通...
展开
 我来答
生活知识小超人
高粉答主

2020-05-21 · 醉心答题,欢迎关注
知道答主
回答量:2078
采纳率:50%
帮助的人:87.7万
展开全部

MATLAB 中 Index exceeds matrix dimensions错误,是代码错误造成的,解决方法如下:

1、启动MATLAB,新建脚本(Ctrl+N),输入以下代码。

2、保存和运行上述脚本,弹出错误对话框。错误信息为:这是默认错误字符串(this is the default error string)。对话框名字为:错误对话框(error dialog)。

3、接着输入以下脚本,如下图所示。

4、保存和运行上述增加后的脚本,弹出3个错误对话框,如下图。

5、这里只有设置为modal的错误对话框点击“确定(OK)”或者×掉之后,另外两个错误对话框才可以移动或者点击确定(OK)等操作。

csg974
推荐于2018-02-12 · TA获得超过5020个赞
知道小有建树答主
回答量:915
采纳率:0%
帮助的人:1251万
展开全部
j取值超出A的长度了。
i是从1到length(A)
j始终比i大1,所以从2到length(A)+1了,超出范围了。

循环那里用for i=1:length(A)-1就好了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackyang900
2009-05-03 · TA获得超过123个赞
知道答主
回答量:55
采纳率:0%
帮助的人:60.7万
展开全部
for i=1:length(A);
if A(i)=='F'&A(j)=='I'
a=j+1;
end

上面循环
访问出界了到了A(70) 然而只有A的长度只到69.

这就是索引报错的原因吧……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式