error in the code
17 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
erroe in string(j,n)=string(k,n);
for k=1:Npop
for j=1:dim
busLocation(j,k)=busd(busLocation(j,k),1);
end
sdf= unique(busLocation(:,k));
while length(sdf)<dim
sdf=randi([2 length(busd(:,1))],dim,1);
for j=1:dim
sdf(j)=busd(sdf(j),1);
end
busLocation(:,k)=sdf;
sdf= unique(busLocation(:,k));
end
end
ndif = [0.28; 0.35; 0.39; 0.35; 0.27; 0.34; 0.40; 0.34; 0.25; 0.32];
for k = 1:Npop
mdif(k)= ndif(k);
end
nsw=length(string);
mpop = round(Npop/4);
for j = 1:mpop
minman = min(mdif(:));
for k = 1:Npop
if mdif(k)== minman
for n=1:nsw
string(j,n)=string(k,n);
end
mdif(k)= 1010;
break;
end
end
end
for j = 1:(Npop-mpop)
for bits=1:nsw
string(mpop +j,bits) = string(j,bits);
end
end ; end
0 comentarios
Respuestas (1)
Voss
el 1 de Ag. de 2024
The first time this line is encountered:
string(j,n)=string(k,n);
k is 9, but string only has 3 rows. That's the reason for the error.
2 comentarios
Torsten
el 1 de Ag. de 2024 a las 23:43
Editada: Torsten
el 1 de Ag. de 2024 a las 23:47
But this error occurs in the last loop:
% select another 75% of new population
for j = 1:(Npop-mpop)
for bits=1:nsw
string(mpop +j,bits) = string(j,bits);
end
end
Before entering this loop, "string" has size 3x10. But j runs up to 10-3 = 7 ...
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!