How to return corresponding element in two same same size matrices

I have two 360*360 matrices (x,y). I want to find the minimum value in each column of the y matrix (YMin - 1*360) and then find the values of the corresponding elements in the x matrix (XMin - 1*360). I tried to use the row numbers but I'm missing something simple here;
[YMin, YRow] = min(y);
XMin = x(YRow);

 採用された回答

Guillaume
Guillaume 2018 年 11 月 8 日

0 投票

Your x(YRow) doesn't work because matlab doesn't know that you want element YRow(1) to be taken in the first column, YRow(2) in the second column, etc. One way to solve this:
[YMin, YRow] = min(y);
XMin = x(sub2ind(size(x), YRow, 1:numel(YRow))
Or you can do the calculation that sub2ind does yourself:
XMin = x(Yrow + (0:numel(YRow)-1) * size(x, 1))

その他の回答 (1 件)

madhan ravi
madhan ravi 2018 年 11 月 8 日
編集済み: madhan ravi 2018 年 11 月 8 日

0 投票

a=rand(4) %fake datas as an example
b=rand(4)
[values,indices]=min(a)
b(indices)=a(indices) %corresponding elements are replaced in second matrix b

2 件のコメント

madhan ravi
madhan ravi 2018 年 11 月 8 日
編集済み: madhan ravi 2018 年 11 月 8 日
Then find the values of the corresponding elements
Need some explanation here
you want to returns the corresponding linear index or row?
Give a short example of your output using 2 by 2 matrix
see edited answer
Jordan Ballantyne
Jordan Ballantyne 2018 年 11 月 8 日
編集済み: Jordan Ballantyne 2018 年 11 月 8 日
XMin = x(YRow) %returns a 1*360 matrix
XMin = x(YRow,:) %returns a 360*360 matrix
I want to return a 1*360. First, the minimum element in each column and then return value in the second matrix in the same location in each column.
For example if the minimum value in column 1 of the first matrix is (179:1), then i want to return the value in (179:1) in the second matrix, for all columns.
I dont want to replace the elements in the second matrix, i want to return them into a 1*360 matrix (360 values to correspond)
y = [1,2,3:3,2,1:2,1,3];
x = [3,2,1:1,2,3:2,3,1];
[YMin, YRow] = min(y);
XMin = x(YRow); %returns [3 2 1] instead of [3 3 3]

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品

リリース

R2015a

質問済み:

2018 年 11 月 8 日

回答済み:

2018 年 11 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by