MATLAB 中 Index exceeds matrix dimensions.错误

文本文件名字是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”这种错误呢?我以前有一个很类似的程序,就没有错误,想不通...

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)等操作。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-12
j取值超出A的长度了。
i是从1到length(A)
j始终比i大1,所以从2到length(A)+1了,超出范围了。

循环那里用for i=1:length(A)-1就好了。本回答被提问者和网友采纳
第2个回答  2009-05-03
for i=1:length(A);
if A(i)=='F'&A(j)=='I'
a=j+1;
end

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

这就是索引报错的原因吧……

MATLAB 中 Index exceeds matrix dimensions.错误
MATLAB 中 Index exceeds matrix dimensions错误,是代码错误造成的,解决方法如下:1、启动MATLAB,新建脚本(Ctrl+N),输入以下代码。2、保存和运行上述脚本,弹出错误对话框。错误信息为:这是默认错误字符串(this is the default error string)。对话框名字为:错误对话框(error dialog)。3、接着...

MATLAB 中 Index exceeds matrix dimensions.错误
MATLAB 中 Index exceeds matrix dimensions错误,是代码错误造成的,解决方法如下:1、启动MATLAB,新建脚本(Ctrl+N),输入以下代码。2、保存和运行上述脚本,弹出错误对话框。错误信息为:这是默认错误字符串(this is the default error string)。对话框名字为:错误对话框(error dialog)。3、接着...

matlab运行出错 Index exceeds matrix dimensions.
指数超过矩阵的维数,可能是因为运行次数过多,而导致数据重复使用出错的,建议运行 clear 然后重新将原程序粘贴进来运行!

Matlab中的矩阵出现index exceeds matrix dimensions什么意思?
Index exceeds matrix dimensions.翻译成中文就是 指数超过矩阵维度。意思就是,你矩阵加入定义的矩阵A是 3乘3的矩阵,你在程序里,写了一个 B=A(4,3);这样的话,Matlab就找不到这第四行第三列的数据,因为你定义的A就三行三列;比如如下代码,你可以试试:M= magic(4);M(6,6)输出的就...

Matlab计算Index exceeds matrix dimensions. 为什么???
你这里面的问题是相乘的时候矩阵维数不匹配 比如这个(3.054+16.7*h*w),h=25,而w为100行100列的矩阵,这样相乘是有问题的,所以就出现Matlab计算Index exceeds matrix dimensions,不知道你的要求,你可以把h改为100行100列的对角线为25的矩阵,即h=h*eye(100,100);再用h*w ...

Matlab错误提示:Index exceeds matrix dimensions.怎么弄呢?_百度知 ...
1、某行只有一个字符(例如本来应该是空行的,但有一个空格);2、fgetl到达文件结尾,会返回-1。这类情况都会导致你遇到的数组越界问题。修改建议:确保不出错的做法是,把 if isempty(Curline)改成 if length(Curline) >= 11其中的数字11根据需要改成你在else分支中需要用到的长度。

...y坐标,提示Index exceeds matrix dimensions.是软件问题?
matlab提示Index exceeds matrix dimensions.的意思是索引超过矩阵的尺寸。出现这个提示,我觉得可能是电脑内存配置偏低。在matlab2016a上可以运行给出的代码。运行结果如下

...就弹出Index exceeds matrix dimensions.请大神帮忙看看,感激不尽...
1、出错原因:在对 j 的循环里,下面这句:sum(j)=sum(j)+Y;在第一次循环就用到了sum(2),但sum并没有定义,所以会出现数组越界的错误。2、解决方法:由于不知道你的算法和那句“sum(j)=sum(j)+Y”的意图,没法给你更好的建议。如果只是为了让程序运行,在循环外面加一句 sum=zeros(1000...

...程序总是提示“Index exceeds matrix dimensions.”该怎样改程序才能...
t 要初始化为数组,将for前面一句“t(1)=0;”换为“t=zeros(1,mmax);”

matlab报错??? Index exceeds matrix dimensions.
索引超过了矩阵维度,

相似回答