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

3 Ansichten (letzte 30 Tage)
David van Nederpelt
David van Nederpelt am 4 Jun. 2018
Beantwortet: Star Strider am 4 Jun. 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 Kommentare
Adam
Adam am 4 Jun. 2018
And what is wrong with your code specifically? What are you getting as Wantedvalue?
David van Nederpelt
David van Nederpelt am 4 Jun. 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)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider
Star Strider am 4 Jun. 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

Weitere Antworten (1)

Honglei Chen
Honglei Chen am 4 Jun. 2018
You can use
B(A==earliercalculatedvalue)
HTH

Kategorien

Mehr zu Operators and Elementary Operations 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!

Translated by