Why does matlab return "Index exceeds matrix dimensions"?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
Nind=2; %number of vectors
Nvar=2; %number of variables in each vector
perci=3; %number of bits of every variable
ph=zeros(Nind, Nvar);
ch=crtbp(Nind, Nvar*perci); %random binary matrix and crtbp is a function from
%genetic algorithm MATLAB toolbox
for i=1:Nind
s=1; E=perci;
for j=1:Nvar
d=ch(i,s:E)
s=E+1; E=s+ perci;
phen(i,j)=bi2de(d)
j=j+1;
end
i=i+1;
end
ph
The aim of the code is to take in the ith row of ch, the first perci bits which is a binary row vector and convert it to a real number then take this real number and put it in ph, then in the same ith row in ch take the 2nd perci bit namely, perci+1 to 2*perci +1 and convert it to a real number and put it into ph and so on
whenever i run the code it tells me "Index exceeds matrix dimensions."
I don't know why
2 commentaires
Walter Roberson
le 1 Sep 2019
Where are you finding crtbp() ? Are you using the third-party gatbx package, which you can download from http://www.acse.dept.shef.ac.uk/cgi-bin/gatbx-download ?
Réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!