Finding Minimum Distance Between Points to Find Indexed Variable
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jonathan Pinko
el 12 de Mzo. de 2020
Comentada: Jonathan Pinko
el 24 de Mzo. de 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 comentarios
darova
el 12 de Mzo. de 2020
Too much explanations. Couldn't handle them
Can you make a simple drawing or something?
Respuesta aceptada
Turlough Hughes
el 13 de Mzo. de 2020
Editada: Turlough Hughes
el 13 de Mzo. de 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);
Más respuestas (1)
darova
el 13 de Mzo. de 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 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!