Loop over an array
    7 views (last 30 days)
  
       Show older comments
    
Dear MatLab comunity,
I have a problem with a for loop.
I have two arrays of angles Theta1 and Theta2 (attached).
I have defined the following:
rTheta1 = load('theta1.dat');
rTheta2 = load('theta2.dat');
Theta1 = Theta1(:,2); %% which are the Theta1 angles
Theta2 = Theta2(:,2); %%       //      Theta2 angles
Theta1_cis = Theta1((Theta1 > -90) & (Theta1 < 90)); % Array of values when theta1 is in Cis 
Theta1_trans = Theta1(Theta1 > 90 | Theta1 < -90); % Array of values when theta1 is in Trans
What I need now is  to define an array such that when Theta1 is whitin the cis range then I collect the value in the variable Theta2_T1cis otherwise it goes in Theta2_T1trans, or when Theta1 is in the trans range then it goes in Theta2_T1trans.
I tried to put up a loop but I am very nabish so please help me on this:
i = 1;
for i = 1:[Theta1]
    if Theta1((Theta1 > -90) & (Theta1 < 90))
         Theta2_T1cis(i) = Theta2(i)
    else Theta2_trans(i) = Theta2(i)
    i= i+1;        
    end
end   
this is not working of course. How can I solve it?
Hope the question is clear, otherwise I will reformulate.
Thanks in advance,
Alessandro
0 Comments
Accepted Answer
  Jan
      
      
 on 21 Feb 2022
        
      Edited: Jan
      
      
 on 21 Feb 2022
  
      There is no need for a loop:
T1_cis_index   = (Theta1 > -90) & (Theta1 < 90);
T1_trans_index = (Theta1 > 90) | (Theta1 < -90);
Theta1_cis     = Theta1(T1_cis_index); 
Theta1_trans   = Theta1(T1_trans_index);
Theta2_T1cis   = Theta2(T1_cis_index); 
Theta2_T1trans = Theta2(T1_trans_index);
By the way, this is no the way loops are working. A cleaner version:
% i = 1;  Nope
for i = 1:numel(Theta1)  % Not: [Theta1]
    if (Theta1(i) > -90) & (Theta1(i) < 90))  % Use Theta1(i), not the complete vector
        Theta2_T1cis(i) = Theta2(i)
    else
        Theta2_trans(i) = Theta2(i)
        % Nope: i= i+1;        
    end
end
More Answers (0)
See Also
Categories
				Find more on Loops and Conditional Statements 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!
