can anybody help me with this error???
Info
This question is closed. Reopen it to edit or answer.
Show older comments
x1=sortrows(xf,2);
p=round(x1);
classes=20;
array=zeros(size(classes),3)
min1=min(p(:,2));
max1=max(p(:,2));
classwidth=(max1-min1)/classes;
d=ceil(classwidth);
sum=0; j=1;k=1;n=0;
lowerlimit=min1:d:max1;
cw=d-1;
upperlimit=cw+lowerlimit;
ll=lowerlimit';
ul=upperlimit';
for k=1:classes
for i=1:size(p)
if p(i,2)>=ll(k) && p(i,2)<=ul(k)
sum=sum+p(i,1);
end
end
array(k,1)=sum;
array(k,2)=ll(k);
array(k,3)=ul(k);
sum=0;
end
The error is in this line
Index exceeds matrix dimensions.
Error in ==> if p(i,2)>=ll(k) && p(i,2)<=ul(k)
3 Comments
Wayne King
on 23 May 2013
I don't think this can work:
classes=20;
array=zeros(size(classes),3)
size(classes) should be a scalar
also, please give the size of x1.
Jan
on 23 May 2013
Please use meaningful tags. Of course all questions in a Matlab forum concern "matlab".
Sony
on 23 May 2013
Answers (1)
You can use the debugger to check, what's going on:
dbstop if error
Then start the program again. When Matlab stops at the error inspect the values of i and k as well as the sizes of p, ll and ul.
It is not possible in theory that we can fix the problem, because all we have is the failing code, but we cannot guess its intention reliably.
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!