Finding Minimum Distance Between Points to Find Indexed Variable
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jonathan Pinko
am 12 Mär. 2020
Kommentiert: Jonathan Pinko
am 24 Mär. 2020
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 Kommentare
darova
am 12 Mär. 2020
Too much explanations. Couldn't handle them
Can you make a simple drawing or something?
Akzeptierte Antwort
Turlough Hughes
am 13 Mär. 2020
Bearbeitet: Turlough Hughes
am 13 Mär. 2020
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);
Weitere Antworten (1)
darova
am 13 Mär. 2020
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 Kommentare
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!