How to find the closest value to a constant in a 2D matrix
85 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have a 2D matrix of random numbers and NaNs, of 15x129. I want to find where in the matrix the values are closest to the number 15 along each column, and output a logical 15x129 matrix (where number is closest to 15 = 1, where number is less than 15 = 0 or nan) . So out of the 15 values, which value is closest to the number 15.
Thank you,
Holly
1 commentaire
Réponse acceptée
YT
le 5 Fév 2019
Probably something like this
A = rand([15 129])*100; %matrix with random values
[~,I] = min(abs(A - 15),[],1); %get indices for values closest to 15
logicalMat = false(size(A)); %preallocate logical matrix
arrayLength = size(A,2);
for jj = 1:arrayLength
logicalMat(I(jj),jj) = 1; %fill logical matrix
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!