Finding Minimum Distance Between Points to Find Indexed Variable

조회 수: 3 (최근 30일)
Hi All,
Two matrices, one here with size 1251x3:
dtamatrix = [xFe54t(:),Fo(:),DeltaFe56(:)];
And another one here, with size 4x1:
Felimitmatrix = [Foyqlimit(:)]
First, I want to find which values of Fo each of my Foyqlimit values are closest to, generating four values of Fo. Then, I want my code to read the specific xFe54t values that correspond with these four values of Fo, generating a 4x1 column vector of xFe54t values.
Can anyone provide any insight as to how to do this?
Thanks,
Joanthan
  댓글 수: 2
darova
darova 2020년 3월 12일
Too much explanations. Couldn't handle them
Can you make a simple drawing or something?
Jonathan Pinko
Jonathan Pinko 2020년 3월 13일
A drawing would be tough, but I'll try to simplify things. I've changed things a little.
Two matrices, one here with size 1251x3:
dtamatrix = [xFe54t(:),Fo(:),DeltaFe56(:)];
And another one here, with size 4x1:
Felimitmatrix = [Foyqlimit(:)]
First, I want to find which values of Fo each of my Foyqlimit values are closest to, generating four values of Fo. Then, I want my code to read the specific xFe54t values that correspond with these four values of Fo, generating a 4x1 column vector of xFe54t values.
How could I do this?
Thanks for responding.

댓글을 달려면 로그인하십시오.

채택된 답변

Turlough Hughes
Turlough Hughes 2020년 3월 13일
편집: Turlough Hughes 2020년 3월 13일
If you don't have the statistics and machine learning toolbox you can do the following:
[~,idx] = min(abs(dtamatrix(:,2) - Felimitmatrix.')); % for 2016b and later
and alternatively for versions prior to 2016b
[~,idx] = min(abs(bsxfun(@minus,dtamatrix(:,2),Felimitmatrix.'))); % before 2016b
Results:
xFe54t_Flim = dtamatrix(idx,1);

추가 답변 (1개)

darova
darova 2020년 3월 13일
Use pdist2 to find closest points
D = pdist2(Fo(:),Foyqlimit(:)); % every combination (Matrix 1251x4)
[~,ix] = min(D); % closest indices
xFe54t(ix) % values you want

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by