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
2020년 3월 12일
Too much explanations. Couldn't handle them
Can you make a simple drawing or something?
채택된 답변
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
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
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!