Find value in second column when first column is x

17 Ansichten (letzte 30 Tage)
Giuseppe Bregliozzi
Giuseppe Bregliozzi am 22 Mär. 2012
Hi,
i would like to find the value in a second column corresponding to a value of the first column: [9 0.1; 16 0.2;3 1;89 6;5 0.4;77 0.8]
If I'm searching the value 3 the answer is 1 and if I'm searching 5 the answer is 0.4. I would always search for these numerical values in the first column, but I do not know their row position. Is there an easy and simple wait to do it? Thanks a lot. I have just started using Matlab.

Akzeptierte Antwort

Wayne King
Wayne King am 22 Mär. 2012
indices = find(A(:,1) == 3);
A(indices,2)
Or
indices = find(A(:,1)>2 & A(:,1) <6);
A(indices,2)
Or
A(find(A(:,1)>2 & A(:,1)<6),2)
Another way is:
locs = ismember(A(:,1), [3 5]);
A(locs,2)

Weitere Antworten (1)

Geoff
Geoff am 22 Mär. 2012
The find function will give you the row numbers. Type:
help find
But if you don't care about the row indices, the preferable way is to use logical indexing:
>> x = [9 0.1; 16 0.2; 3 1; 89 6; 5 0.4; 77 0.8];
>> x(x(:,1)==5, 2)
ans =
0.4

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by