How to find the another values in array
2 次查看(过去 30 天)
显示 更早的评论
Suppose I have a array A=
1 73.21 32.2
6 11.1 3.32
9 30.4 19.64
17 12.6 77.3
20 30.7 6.2
23 21 .9 42.5
Now I have another array which contain some values B =
1 9 20 23
Now I input a single no through input command called N=20
I wish to find that N(20) in column first and return corresponding values column second and column third in array A
Like it return value 30.7 and 6.2
1 个评论
pfb
2015-4-18
Thanks for choosing my answer.
Anyway the other two other answers are perhaps better, in that they do not use "find".
采纳的回答
pfb
2015-4-18
You could use the command "find".
% this finds the row (if any) at which N appears in the first column of A
r = find(A(:,1)==N);
% this returns the corresponding values in the 2nd and 3rd columns of A
v = A(r,[2 3]);
% note that this is a row vector if N appears only once in the first column of A
% It is a matrix if N appears more than once
% It is an empty vector if N never appears.
1 个评论
更多回答(1 个)
Image Analyst
2015-4-18
Just use logical indexing. You don't even need find().
A=[...
1, 73.21, 32.2;
6, 11.1, 3.32;
9, 30.4, 19.64;
17, 12.6, 77.3;
20, 30.7, 6.2;
23, 21.9, 42.5]
% B is unused - not sure why it was even mentioned
B =[1 9 20 23];
N = 20; % Gotten from using the input() function.
row = A(:,1)==N % N must be an integer.
output = A(row, 2:3)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!