How to make the following code valid for tables not only matrices
    12 views (last 30 days)
  
       Show older comments
    
hello, The following code finds the peak point for some data stored in an array or matrix lets say.
for ied=1:length(EDP)
    imax=[];
    [~,imax] = max(EDP(:,7));  %column 7 we have the variable NE8 which we are intrested in finding its maximum
    if (EDP(imax,6) < 190 || EDP(imax,6) >400)    %column 6 we have the variable GDALT, which is the alttitued
        EDP(imax,:)=[];
    elseif ( EDP(imax,6) > 190 && EDP(imax,6) < 190) %the range for the altitude of the peak is between 190-400
        break;
    end
end
How can we modify it such that it would be valid for data that are stored in tables also not only arrays or matrices.
0 Comments
Answers (2)
  KSSV
      
      
 on 22 Jun 2022
        Convert the Table into array using table2array. You can extract any column from table T using T.(1), T.(2) etc....
2 Comments
  Eric Sofen
    
 on 23 Jun 2022
        There are a few ways to rework the indexing to work with tables. By the way, I'm not sure what the loop does (ied doesn't appear in the body of the loop).
[~,imax] = max(EDP.NE8);  %column 7 we have the variable NE8 which we are intrested in finding its maximum
if (EDP.GDALT(imax) < 190 || EDP.GDALT(imax) >400)    %column 6 we have the variable GDALT, which is the alttitued
    EDP(imax,:)=[];
elseif ( EDP.GDALT(imax) > 190 && EDP.GDALT(imax) < 190) %the range for the altitude of the peak is between 190-400
    break;
end
0 Comments
See Also
Categories
				Find more on Logical 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!

