Clear Filters
Clear Filters

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

1 view (last 30 days)
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 Comments
Adam
Adam on 4 Jun 2018
And what is wrong with your code specifically? What are you getting as Wantedvalue?
David van Nederpelt
David van Nederpelt on 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)

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 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

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!