How to search and find nearest data in the given array

1 次查看(过去 30 天)
I have an array (Matt J attached)
I have n = 70; or any other number. SP = 998.45 or any other number from column2. I want to search and find corresponding row in column2 contains 998.45 or other number with nearest value of column1 in finded rows with n =70 or any other number. Please help me.
70 987 984.65 0.1 139.72
43 987.05 984.6 0.19 89.81
70 987.05 984.7 0.1 139.72
70 987.05 984.7 0.1 139.72
43 987.1 984.65 0.18 89.8
70 987.1 984.75 0.1 139.72
43 987.15 984.7 0.18 89.8
70 987.15 984.8 0.1 139.72
43 987.2 984.75 0.18 89.8
70 987.2 984.85 0.1 139.72
43 987.25 984.8 0.18 89.8
70 987.25 984.9 0.1 139.72
43 987.3 984.85 0.18 89.8
...
  2 个评论
dpb
dpb 2022-6-4
Sorry, the explanation is too disjointed to undersaand.
What would your result be expected to be for the above inputs and, how, precisely would that have been determined to be the correct answer?
Triveni
Triveni 2022-6-4
There are three rows containing 998.45 in column no. 2.
In these three rows, I want to find nearest value of 70.

请先登录,再进行评论。

采纳的回答

Voss
Voss 2022-6-4
load('array.mat')
n = 70;
SP = 998.45;
% find the rows where column 2 of array is SP
matching_rows = find(array(:,2) == SP)
matching_rows = 3×1
541 542 543
% find the index of the value nearest to n
% in column 1, among those rows of array
[~,idx] = min(abs(array(matching_rows,1) - n))
idx = 2
% get the value
result = array(matching_rows(idx),1)
result = 62

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by