Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

can anybody help me with this error???

1 vue (au cours des 30 derniers jours)
Sony
Sony le 23 Mai 2013
Clôturé : MATLAB Answer Bot le 20 Août 2021
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 commentaires
Jan
Jan le 23 Mai 2013
Please use meaningful tags. Of course all questions in a Matlab forum concern "matlab".
Sony
Sony le 23 Mai 2013
size of x1 and xf is 63 rows and 2 columns

Réponses (1)

Jan
Jan le 23 Mai 2013
Modifié(e) : Jan le 23 Mai 2013
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.

Cette question est clôturée.

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by