Reverse calculate a table of values
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 17 Gen 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 Commenti
Più risposte (1)
Image Analyst
il 17 Gen 2020
Modificato: Image Analyst
il 17 Gen 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);
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!