matlab编程中的数据越界问题

本人对程序一窍不通,请高手指点,在线急等。在matlab中运行定义的M函数文件后,出现错误:AttemptedtoaccessSz(13);indexoutofbound... 本人对程序一窍不通,请高手指点,在线急等。
在matlab中运行定义的M函数文件后,出现错误:

Attempted to access Sz(13);index out of bounds because numel(Sz)=12

出现错误的那段M函数文件代码如下:
for(x=1:fl)%获得分类情况:对分类元素进行排序
js=0;flsz(x)=0;
for(i=1:n)pd=1;
for(y=1:js)if(Sz(y)==i)pd=0;break;end;end
if(pd)if(js==0)y=0;end
for(j=1:n)if(R(i,j)>=lmd(x))js=js+1;Sz(js)=j;end;end
flsz(x)=flsz(x)+1;
Sz0(flsz(x))=js-y;
end
end
js=0;
for(i=1:flsz(x))
for(j=1:Sz0(i))Sz1(j)=Sz(js0+j);end (Matlab中说错误发生在这一句)
for(j=1:n)for(y=1:Sz0(i))if(xhsz(j)==Sz1(y))js0=js0+1;Sz(js0)=xhsz(j);end;end;end
end
for(i=1:n)xhsz(i)=Sz(i);end
end

请高手教我怎样更正错误的编程代码,万分感谢~!
展开
 我来答
yyllff1982
2009-07-21 · TA获得超过496个赞
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
js=0;
for(i=1:flsz(x))
for(j=1:Sz0(i))Sz1(j)=Sz(js0+j);end (Matlab中说错误发生在这一句)
for(j=1:n)for(y=1:Sz0(i))if(xhsz(j)==Sz1(y))js0=js0+1;Sz(js0)=xhsz
这里面的js=0;和下面的js0不对应呀,是不是改成js0=0;要不就改下面的。
改完了看看,如果再有错就是越界问题了,这个也不难改关键看你变量的取值范围、可能超出矩阵的最大围数了~-~
百度网友182024dc1
2009-07-19
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
f1,n都没初始值
把matlab的代码写成这样,真是汗。。。
matlab的for语句后面不用加()的。
每一行语句单独一行,要不然看起很乱很费劲。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
励菊华Ff
2009-07-19 · 超过16用户采纳过TA的回答
知道答主
回答量:127
采纳率:0%
帮助的人:57万
展开全部
数组索引出界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jimjim168
2009-07-19 · TA获得超过7418个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:575万
展开全部
检查一下你所操作的数组下标是否越界.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式