error in the code
17 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Voss
on 1 Aug 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 Comments
Torsten
on 1 Aug 2024 at 23:43
Edited: Torsten
on 1 Aug 2024 at 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 ...
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!