calling a value in a matrix

5 次查看(过去 30 天)
I have two sets
X Y
1 2
3 6
4 7
5 8
I have to find highest value in category Y which is 8, after finding that 8 is the highest value I have to call value 5 in category X to from a matrix [ 5 8].
I know how to find the largest value, but I don’t know how to call 5 from X category.
Please can someone help me in call the specified value.

采纳的回答

galaxy
galaxy 2019-10-25
Let 's try
X = [1 3 4 5];
Y = [2 6 7 8];
[max_val, idx] = max(Y);
X_idx = X(idx);
  7 个评论
sampath kumar punna
sampath kumar punna 2019-10-25
by any chance can you fix this error
Y = [1 7
3 9
11 12
15 18
22 12
12 23
15 19
10 22
17 28
111 123]
z= [ 9 12 18 12 23 19 22 28 123]
for i= 1: length(z)
out(i) = Y(find(Y(:,2) == z(:,i)))
end
this code shows an error while executing (Unable to perform assignment because the left and right sides have a different number of
elements.)
can anyone please fix this error
thanks
galaxy
galaxy 2019-10-25
Let 's try:
find_idx = find(Y(:,2) == z(1));
for i= 2: length(z)
find_idx = vertcat(find_idx, find(Y(:,2) == z(i)));
end
out = Y(unique(find_idx), :);
you can try with other z:
example:
z= [ 9 12 18];
out =
3 9
11 12
15 18
22 12

请先登录,再进行评论。

更多回答(1 个)

sampath kumar punna
sampath kumar punna 2019-10-25
what if i have to call 7 from y and 4 from x

类别

Help CenterFile Exchange 中查找有关 Licensing on Cloud Platforms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by