MATLAB Answers

Perform mathematical operation on matching values

1 view (last 30 days)
ea
ea on 5 Jan 2017
Edited: Mohammad Abouali on 5 Jan 2017
I know how to extract the value of column 3 when column 2 matches a specified integer (in this case 21).
A(A(:,2)==21,3;
How do I alter this expression to not only extract the value of column 3 (when column 2 equals 21) but also perform a mathematical operation on the extracted value.
For example, I'd like to extract the value from column 3 and subtract it from 186.
Any suggestions?

  0 Comments

Sign in to comment.

Accepted Answer

Mohammad Abouali
Mohammad Abouali on 5 Jan 2017
Edited: Mohammad Abouali on 5 Jan 2017
One way is this:
mask = (A(:,2)==21);
% performing the operation and storing it back in A:
% mask is used twice, so I compute it once and use it two times.
A(mask,3) = 186 - A(mask,3);
% Performing the operation but storing it in a separate variable:
% Here since mask is used once you don't need to store it in a separate variable.
newVariable = 186 - A(mask,3);

  0 Comments

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by