Reverse calculate a table of values
    4 views (last 30 days)
  
       Show older comments
    
Hi,
I'm looking for a way to determine the Y axis from a given Z value in a 3D table. Basically reverse interpolate the table. 
Is there a way to determine it?
  X/Y  0  100  175  250  325  400  475  575 
  60  0  5  13  21  29  40  51  68 
  80  0  7  16  24  32  40  49  63 
  90  0  7  16  25  34  42  49  61 
  100  0  6  15  25  33  41  49  59 
  110  0  6  15  23  32  40  48  58 
  120  0  5  14  22  30  38  47  57 
  130  0  5  13  21  29  37  45  56 
  140  0  5  13  21  29  37  44  55 
  150  0  4  12  21  29  37  44  54 
  160  0  3  12  20  29  37  44  53 
  Say, Z = 45,  X = 125, Y = ?  
Thanks in advance!
0 Comments
Accepted Answer
  Star Strider
      
      
 on 17 Jan 2020
        I am not certain what a ‘3D table’ is.  Perhaps you intend a three column table or array.  
The code for that, assuming ‘Y’ and ‘Z’ are vectors, would be: 
Yi - interp1(Z, Y, Zi);
and ‘Zi’ is the scalar or vector you want to find the ‘Yi’ values for.  
4 Comments
More Answers (1)
  Image Analyst
      
      
 on 17 Jan 2020
        
      Edited: Image Analyst
      
      
 on 17 Jan 2020
  
      If the desired Z value is definitely in your Z matrix, then you can find them by
zMap = Z == desiredZValue; % Produces a logical matrix where it's 1 if the matrix has that Z value.
% To get the rows and columns of all the locations, do this:
[Y, X] = find(zMap);
See Also
Categories
				Find more on Interpolation 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!