Finding Minimum Distance Between Points to Find Indexed Variable

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

Too much explanations. Couldn't handle them
Can you make a simple drawing or something?
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

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2020년 3월 12일

댓글:

2020년 3월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by