Change or update an existing variable at iteration intervals in an iteration loop
    5 views (last 30 days)
  
       Show older comments
    
    Ayobami Meadows
 on 18 Dec 2021
  
    
    
    
    
    Answered: Sargondjani
      
 on 18 Dec 2021
            I need to update the variable t with this same initilization formula when the iteration gets to iteration 10, iteration 15, iteration 25 and iteration 40. I tried this way but no changes.
    clc;clear;close all;
    MaxIt=50;
    P=3;
    xmin = randi(10);
    ymin = 100;
    x = [150 300 350];
    y = [500 700 850];
    %% Initialize variable t
    t=zeros(1,P);
    for i=1:P
        t(i)=sqrt((y(i)-ymin)+(x(i)-xmin));
    end
    %% Main loop
    Fanswer = zeros(MaxIt,1);
    for it=1:MaxIt
        F = t * pi * randi(10);
        GetCost = F(1);
    Fanswer(it)=GetCost;
    disp(['MaxIt' num2str(it) ': Get Cost =' num2str(Fanswer(it))]);
    %<------ This is where my problem is--------->
    % I need to calculate and update variable t again here after 10th, 
    % 15th, 25th and 40th iterations. I did it this way but didn't work.
    if (it)==[10 15 25 40]    
        for i=1:P
        t(i)=sqrt((y(i)-ymin)+(x(i)-xmin));
        end
    end
    end
0 Comments
Accepted Answer
  Sargondjani
      
 on 18 Dec 2021
        it==[10 15 25 40] 
  gives a vector as output. You want a scalar either 0 or 1:
Use:
ismember(it,[10 15 25 40])
0 Comments
More Answers (0)
See Also
Categories
				Find more on Time Series Collections 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!
