Perform mathematical operation on matching values

조회 수: 1(최근 30일)
ea
ea 2017년 1월 5일
편집: Mohammad Abouali 2017년 1월 5일
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?

채택된 답변

Mohammad Abouali
Mohammad Abouali 2017년 1월 5일
편집: Mohammad Abouali 2017년 1월 5일
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개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by