Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Insert row in an array and delete last row
Replies: 7   Last Post: Jan 21, 2013 2:38 AM

 Messages: [ Previous | Next ]
 Michael Doukas Posts: 12 Registered: 12/26/12
Re: Insert row in an array and delete last row
Posted: Jan 20, 2013 12:11 PM

"Michael Doukas" wrote in message <kdh748\$a5g\$1@newscl01ah.mathworks.com>...
> I have the following code (it is for a Tabu search algorithm):
>
> 1: InitialSol=generator;
> 2: lsol=size(InitialSol,2);
> 3: List=zeros(l,lsol);
> 4: i=0;
> 5:
> 6: while i<=l
> 7: % tweak the initial sol
> 8: Sol=tweak(InitialSol);
> 9: % check if tweaked child already exists in the tabu list
> 10: if ismember(Sol,List)==0
> 11: % if it does not exist add it in the list
> 12: List=circshift(List,1);
> 13: List(i,:)=Sol;
> 14: i=i+1;
> 15: end
> 16: end
>
> But it reaches line 13 and throws:
> Subscript indices must either be real positive integers or logicals.
> Error in ts (line 40)
> List(i,:)=Sol;

I checked the loop and apparently it reaches i=2 and after that i is not increasing.
It just creates new Sol without checking if the Sol if in the List.
Therefore, it never exists the loop.

Date Subject Author
1/20/13 Michael Doukas
1/20/13 dpb
1/20/13 Michael Doukas
1/20/13 dpb
1/20/13 Michael Doukas
1/20/13 Michael Doukas
1/20/13 dpb
1/21/13 Michael Doukas