Effacer les filtres
Effacer les filtres

How do i retrieve a specific value from a 2D matrix?

1 vue (au cours des 30 derniers jours)
David van Nederpelt
David van Nederpelt le 4 Juin 2018
Hello,
I've a matrix from which I want to get a specific value based on earlier calculations. So I want the value of B matched with A based on earlier calculated values (Thus the value of B which belongs to A)
earliercalculatedvalue = value from a certain function
if true
A = [0, 2.5, 5, 7.5, 10, 12.5, 13.5, 15];
B = [0.0433512251001877, 0.043577394493621, 0.0439878459898567, 0.044652541077113, 0.0450839697675535, 0.0458295673490097, 0.0461248505159152, 0.0465317879404617];
Matrix = [A;B];
Wantedvalue=Matrix(A==earliercalculatedvalue,:);
end
Thanks very much in advance!
  2 commentaires
Adam
Adam le 4 Juin 2018
And what is wrong with your code specifically? What are you getting as Wantedvalue?
David van Nederpelt
David van Nederpelt le 4 Juin 2018
I want the value of B where A=earliercalculatedvalue. For the wantedvalue i'm getting a 1D array but I want just the value of B belonging to A (for example the earlier calculated value=5 then the Wantedvalue should be: 0.0439878459898567)

Connectez-vous pour commenter.

Réponse acceptée

Star Strider
Star Strider le 4 Juin 2018
One approach:
earliercalculatedvalue = 5;
Wantedvalue = B(A == earliercalculatedvalue) % Simplest
Wantedvalue = interp1(A, B, earliercalculatedvalue,'linear','extrap') % More Robust
give the same result for both:
Wantedvalue =
0.043987845989857
Wantedvalue =
0.043987845989857

Plus de réponses (1)

Honglei Chen
Honglei Chen le 4 Juin 2018
You can use
B(A==earliercalculatedvalue)
HTH

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by