Reverse calculate a table of values
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Ferd
 am 17 Jan. 2020
  
    
    
    
    
    Kommentiert: Star Strider
      
      
 am 20 Jan. 2020
            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 Kommentare
Akzeptierte Antwort
  Star Strider
      
      
 am 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 Kommentare
Weitere Antworten (1)
  Image Analyst
      
      
 am 17 Jan. 2020
        
      Bearbeitet: Image Analyst
      
      
 am 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);
Siehe auch
Kategorien
				Mehr zu Interpolation finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



