Please answer! How to use an if function effectively?
    1 view (last 30 days)
  
       Show older comments
    
Hi everyone, 
I have a set data loaded into the workspace at 4x100, using the if function to analyse a certain colomn within that data to see say if any value is say greater than 2, and then say if a number within that coloum is greater than 2 then set a number on that same line from a different colomn say in the second coloum to a variable.
Eg, say coloum 4 is the colum i want to analyse, to see if any number in that colum is greater than 2, say lines 30, 67 and 80 are greater than 2, i want the function to then set column 2 values from lines 30, 67 and 80 to a variable lets say x. If that makes more sense
Thank you!
Accepted Answer
  dpb
      
      
 on 9 Nov 2020
        
      Edited: James Tursa
      
      
 on 9 Nov 2020
  
      colmn_analyze=4;    % desired column to compare
colmn_target=2;     % desired column to set
valLimit=2;         % limiting value
% engine
ix=(A(:,colmn_analyze)>valLimit);       % logical vector of locations match condition
A(ix,colmn_target)=x;                   % set the target column locations to value of x
NB: x must either be a scalar or a vector of length of TRUE elements in ix in the order to match or will have a number elements mismatch on the assignment.
Read up on logical indexing in the Getting Started doc for a most useful feature in MATLAB.
7 Comments
  James Tursa
      
      
 on 9 Nov 2020
				Do you mean like this?
colmn_other = 6;
A(ix,colmn_other) = A(ix,colmn_target)
More Answers (0)
See Also
Categories
				Find more on Entering Commands 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!


