循环错误:尝试访问L(1);由于数字(L)= 0,因此索引越界

时间:2015-04-18 04:27:29

标签: matlab

我尝试过搜索,但似乎没有找到解决我问题的方法。它说

  

试图访问L(1);索引超出界限因为   numel(L)= 0。

     

Energy_Management_code出错(第64行)   第(k)= L(1);

这是出错的代码

%Arranging the data according to its location
L=NUMERIC(:,Location_no_column);
k=1;
a(k)=L(1);
p(1).loc=find(L/a(k)==1);
L(p(1).loc)=nan;

while max(isfinite(L))==1
   next=min(FIND(isfinite(L)));
   a(length(a)+1)=L(next);
   p(length(a)).loc=find(L/a(length(a))==1);
   L(p(length(a)).loc)=nan;
end

for i=1:length(a)
   Location(i).ID=a(i);
   Location(i).Place=p(i).loc;
   Location(i).Number=length(Location(i).Place);
end

1 个答案:

答案 0 :(得分:0)

所以从我所看到的,错误非常简单。

a(k) = L(1);

此行错误,因为numel(L)=0,这意味着L为空。我猜这条线会创造一个空的L。

L = NUMERIC(:,Location_no_column);

检查NUMERIC(:,Location_no_column)打印出来并确认。